Skip to content

Commit bca979c

Browse files
author
peter scholz
authored
Merge pull request #247 from LeFnord/master
moves dev dependencies into gemspec
2 parents 3ebb409 + 9305945 commit bca979c

File tree

12 files changed

+106
-127
lines changed

12 files changed

+106
-127
lines changed

.travis.yml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,24 @@ sudo: false
33
language: ruby
44

55
cache: bundler
6-
7-
bundler_args: --without development
8-
9-
rvm:
10-
- 2.3.1
11-
- 2.3.0
12-
- 2.2
13-
- 2.1
14-
- 2.0.0
15-
- ruby-head
16-
- jruby-head
17-
- rbx-2
6+
bundler_args: --without test
187

198
matrix:
209
include:
2110
- rvm: 2.3.1
2211
script:
2312
- bundle exec danger
13+
- rvm: 2.3.1
14+
- rvm: 2.3.0
15+
- rvm: 2.2
16+
- rvm: 2.1
17+
- rvm: ruby-head
18+
- rvm: jruby-9.1.2.0
19+
- rvm: jruby-head
20+
- rvm: rbx-2
21+
2422
allow_failures:
2523
- rvm: ruby-head
24+
- rvm: jruby-9.1.2.0
2625
- rvm: jruby-head
2726
- rvm: rbx-2

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
#### Features
44

5+
* [#247](https://github.com/ruby-grape/grape-entity/pull/247): Updates dependencies; refactores to make specs green - [@LeFnord](https://github.com/LeFnord).
56
* Your contribution here.
67

78
#### Fixes

Gemfile

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,19 @@ source 'http://rubygems.org'
22

33
gemspec
44

5-
current_ruby_version = Gem::Version.new(RUBY_VERSION)
6-
7-
if Gem::Requirement.new('>= 2.2.2').satisfied_by? current_ruby_version
8-
gem 'activesupport', '~> 5.0'
9-
gem 'rack', '~> 2.0', group: [:development, :test]
10-
else
11-
gem 'activesupport', '~> 4.0'
12-
gem 'rack', '< 2', group: [:development, :test]
5+
if RUBY_VERSION < '2.2.2'
6+
gem 'rack', '<2.0.0'
7+
gem 'activesupport', '<5.0.0'
138
end
149

15-
gem 'json', '< 2', group: [:development, :test]
10+
group :development, :test do
11+
gem 'ruby-grape-danger', '~> 0.1.0', require: false
12+
end
1613

17-
group :development do
18-
gem 'pry'
14+
group :test do
1915
gem 'guard'
2016
gem 'guard-rspec'
2117
gem 'guard-bundler'
2218
gem 'rb-fsevent'
2319
gem 'growl'
2420
end
25-
26-
group :development, :test do
27-
gem 'rake'
28-
gem 'rspec'
29-
gem 'rack-test', '~> 0.6.2', require: 'rack/test'
30-
gem 'rubocop', '0.31.0'
31-
end
32-
33-
group :test do
34-
gem 'ruby-grape-danger', '~> 0.1.0', require: false
35-
end

Rakefile

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
1+
# encoding: utf-8
2+
13
require 'rubygems'
24
require 'bundler'
3-
Bundler.setup :default, :test, :development
5+
6+
Bundler.setup(:default, :development)
7+
8+
require 'rake'
49

510
Bundler::GemHelper.install_tasks
611

12+
require 'rspec/core'
713
require 'rspec/core/rake_task'
8-
RSpec::Core::RakeTask.new(:spec) do |spec|
9-
spec.pattern = 'spec/**/*_spec.rb'
10-
end
1114

12-
RSpec::Core::RakeTask.new(:rcov) do |spec|
13-
spec.pattern = 'spec/**/*_spec.rb'
14-
spec.rcov = true
15-
end
15+
RSpec::Core::RakeTask.new(:spec)
1616

17-
task :spec
18-
require 'rainbow/ext/string' unless String.respond_to?(:color)
1917
require 'rubocop/rake_task'
2018
RuboCop::RakeTask.new(:rubocop)
2119

22-
task default: [:spec, :rubocop]
20+
task default: [:rubocop, :spec]

grape-entity.gemspec

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,19 @@ Gem::Specification.new do |s|
1515
s.rubyforge_project = 'grape-entity'
1616

1717
s.add_runtime_dependency 'multi_json', '>= 1.3.2'
18+
s.add_runtime_dependency 'activesupport'
1819

20+
s.add_development_dependency 'bundler'
21+
s.add_development_dependency 'rake'
22+
s.add_development_dependency 'rubocop', '~> 0.40'
23+
s.add_development_dependency 'rspec', '~> 3.0'
24+
s.add_development_dependency 'rack-test'
1925
s.add_development_dependency 'maruku'
2026
s.add_development_dependency 'yard'
21-
s.add_development_dependency 'rspec', '~> 2.9'
22-
s.add_development_dependency 'bundler'
27+
s.add_development_dependency 'pry' unless RUBY_PLATFORM.eql?('java') || RUBY_ENGINE.eql?('rbx')
28+
s.add_development_dependency 'pry-byebug' unless RUBY_PLATFORM.eql?('java') || RUBY_ENGINE.eql?('rbx')
2329

2430
s.files = `git ls-files`.split("\n")
25-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
26-
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
31+
s.test_files = `git ls-files -- {test,spec}/*`.split("\n")
2732
s.require_paths = ['lib']
2833
end

lib/grape_entity/condition/base.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def initialize(inverse = false)
1111
end
1212

1313
def ==(other)
14-
(self.class == other.class) && (self.inversed? == other.inversed?)
14+
(self.class == other.class) && (inversed? == other.inversed?)
1515
end
1616

1717
def inversed?
@@ -23,7 +23,7 @@ def met?(entity, options)
2323
end
2424

2525
def if_value(_entity, _options)
26-
fail NotImplementedError
26+
raise NotImplementedError
2727
end
2828

2929
def unless_value(entity, options)

lib/grape_entity/entity.rb

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,11 @@ def self.expose(*args, &block)
151151
options = merge_options(args.last.is_a?(Hash) ? args.pop : {})
152152

153153
if args.size > 1
154-
fail ArgumentError, 'You may not use the :as option on multi-attribute exposures.' if options[:as]
155-
fail ArgumentError, 'You may not use block-setting on multi-attribute exposures.' if block_given?
154+
raise ArgumentError, 'You may not use the :as option on multi-attribute exposures.' if options[:as]
155+
raise ArgumentError, 'You may not use block-setting on multi-attribute exposures.' if block_given?
156156
end
157157

158-
fail ArgumentError, 'You may not use block-setting when also using format_with' if block_given? && options[:format_with].respond_to?(:call)
158+
raise ArgumentError, 'You may not use block-setting when also using format_with' if block_given? && options[:format_with].respond_to?(:call)
159159

160160
if block_given?
161161
if block.parameters.any?
@@ -214,7 +214,7 @@ def self.can_unexpose?
214214
end
215215

216216
def self.cannot_unexpose!
217-
fail "You cannot call 'unexpose` inside of nesting exposure!"
217+
raise "You cannot call 'unexpose` inside of nesting exposure!"
218218
end
219219

220220
# Set options that will be applied to any exposures declared inside the block.
@@ -270,7 +270,7 @@ def self.documentation
270270
# end
271271
#
272272
def self.format_with(name, &block)
273-
fail ArgumentError, 'You must pass a block for formatters' unless block_given?
273+
raise ArgumentError, 'You must pass a block for formatters' unless block_given?
274274
formatters[name.to_sym] = block
275275
end
276276

@@ -392,8 +392,8 @@ def self.present_collection(present_collection = false, collection_name = :items
392392
# @option options :only [Array] all the fields that should be returned
393393
# @option options :except [Array] all the fields that should not be returned
394394
def self.represent(objects, options = {})
395-
if objects.respond_to?(:to_ary) && ! @present_collection
396-
root_element = root_element(:collection_root)
395+
if objects.respond_to?(:to_ary) && !@present_collection
396+
root_element = root_element(:collection_root)
397397
inner = objects.to_ary.map { |object| new(object, options.reverse_merge(collection: true)).presented }
398398
else
399399
objects = { @collection_name => objects } if @present_collection
@@ -485,7 +485,7 @@ def delegate_attribute(attribute)
485485
end
486486
end
487487

488-
alias_method :as_json, :serializable_hash
488+
alias as_json serializable_hash
489489

490490
def to_json(options = {})
491491
options = options.to_h if options && options.respond_to?(:to_h)
@@ -536,7 +536,7 @@ def self.merge_options(options)
536536
# @param options [Hash] Exposure options.
537537
def self.valid_options(options)
538538
options.keys.each do |key|
539-
fail ArgumentError, "#{key.inspect} is not a valid option." unless OPTIONS.include?(key)
539+
raise ArgumentError, "#{key.inspect} is not a valid option." unless OPTIONS.include?(key)
540540
end
541541

542542
options[:using] = options.delete(:with) if options.key?(:with)

lib/grape_entity/exposure/base.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ def valid?(entity)
5151
if @is_safe
5252
is_delegatable
5353
else
54-
is_delegatable || fail(NoMethodError, "#{entity.class.name} missing attribute `#{@attribute}' on #{entity.object}")
54+
is_delegatable || raise(NoMethodError, "#{entity.class.name} missing attribute `#{@attribute}' on #{entity.object}")
5555
end
5656
end
5757

5858
def value(_entity, _options)
59-
fail NotImplementedError
59+
raise NotImplementedError
6060
end
6161

6262
def serializable_value(entity, options)

lib/grape_entity/exposure/nesting_exposure.rb

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,7 @@ def normalized_exposures(entity, options)
107107
# For the given key if the last candidates for exposing are nesting then combine them.
108108
nesting_tail = []
109109
exposures.reverse_each do |exposure|
110-
if exposure.nesting?
111-
nesting_tail.unshift exposure
112-
else
113-
break
114-
end
110+
nesting_tail.unshift exposure if exposure.nesting?
115111
end
116112
new_nested_exposures = nesting_tail.flat_map(&:nested_exposures)
117113
NestingExposure.new(key, {}, [], new_nested_exposures).tap do |new_exposure|

lib/grape_entity/exposure/nesting_exposure/output_builder.rb

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,20 @@ def add(exposure, result)
1212
# Save a result array in collections' array if it should be merged
1313
if result.is_a?(Array) && exposure.for_merge
1414
@output_collection << result
15-
else
16-
15+
elsif exposure.for_merge
1716
# If we have an array which should not be merged - save it with a key as a hash
1817
# If we have hash which should be merged - save it without a key (merge)
19-
if exposure.for_merge
20-
return unless result
21-
@output_hash.merge! result, &merge_strategy(exposure.for_merge)
22-
else
23-
@output_hash[exposure.key] = result
24-
end
25-
18+
return unless result
19+
@output_hash.merge! result, &merge_strategy(exposure.for_merge)
20+
else
21+
@output_hash[exposure.key] = result
2622
end
2723
end
2824

2925
def kind_of?(klass)
3026
klass == output.class || super
3127
end
32-
alias_method :is_a?, :kind_of?
28+
alias is_a? kind_of?
3329

3430
def __getobj__
3531
output

0 commit comments

Comments
 (0)