application_service 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5098843852847896293de30d2f5c4fecad1b3102
4
- data.tar.gz: e0155d8b8a81b6b603446550cdc6828cbddc8d2a
2
+ SHA256:
3
+ metadata.gz: 235e898fc8f4abc701f68d1544f9d716a1d85b22dbab342f7e1b01e88c7beb55
4
+ data.tar.gz: 59c4f11f63cf3d71b519e033ca4b84a59465ae51d64f421c98327601366d2ae5
5
5
  SHA512:
6
- metadata.gz: 2f7e81a4f71400cc1439cd684b2332cc847afec95e351fe8b35e050e3424b0d7206a3b3b5581fe5e6637b1f5b4cae287f9337376df79b9fe2564fe36fa393312
7
- data.tar.gz: cef7d3d2b4cfc15fe1fe8d396b5921be18a4fc75f1d5330e496594d14ff14c41eb60ca4e8c82540615ed952f7f20ba47cba50df72046becdf9468e22d0522cc7
6
+ metadata.gz: db1262eefac8b5e07799e355a4f75da20aa2f594a91db008386a26cce215acd053ce69202a46ad9f92a1c069bdae72bbe74e5a9ca0f85f59259dc30016a244fe
7
+ data.tar.gz: f62165d54067b9f38dc8622de53f053679255e99a98ae9a6b688ffbe4ddffe1f465c1115c04ede877a76647a40f1c790349b125c9c89544dc5822dd4c1f36ed8
@@ -1 +1 @@
1
- 2.0.0-p353
1
+ 2.6.6
data/Gemfile CHANGED
@@ -1,13 +1,8 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
2
 
6
- gem 'activesupport'
3
+ gem 'activesupport', '>= 5.0.0.1', '< 7.0'
7
4
 
8
- # Add dependencies to develop your gem here.
9
- # Include everything needed to run rake, tests, features, etc.
10
5
  group :development do
11
- gem "rspec"
12
- gem "jeweler", "~> 1.8.4"
6
+ gem 'rspec', '~> 3.5'
7
+ gem 'jeweler', '~> 2.2', '>= 2.2.1'
13
8
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.3.0
@@ -2,18 +2,18 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: application_service 0.2.2 ruby lib
5
+ # stub: application_service 0.3.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
- s.name = "application_service"
9
- s.version = "0.2.2"
8
+ s.name = "application_service".freeze
9
+ s.version = "0.3.0"
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Nathan Woodhull"]
14
- s.date = "2014-11-18"
15
- s.description = "A service layer scaffold for rails apps extracted from Agra"
16
- s.email = "woodhull@gmail.com"
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Nathan Woodhull".freeze]
14
+ s.date = "2020-12-31"
15
+ s.description = "A service layer scaffold for rails apps extracted from Agra".freeze
16
+ s.email = "woodhull@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE.txt",
19
19
  "README.rdoc"
@@ -24,7 +24,6 @@ Gem::Specification.new do |s|
24
24
  ".ruby-gemset",
25
25
  ".ruby-version",
26
26
  "Gemfile",
27
- "Gemfile.lock",
28
27
  "LICENSE.txt",
29
28
  "README.rdoc",
30
29
  "Rakefile",
@@ -34,27 +33,23 @@ Gem::Specification.new do |s|
34
33
  "spec/application_service_spec.rb",
35
34
  "spec/spec_helper.rb"
36
35
  ]
37
- s.homepage = "http://github.com/woodhull/application_service"
38
- s.licenses = ["MIT"]
39
- s.rubygems_version = "2.2.2"
40
- s.summary = "Service Layer Scaffold"
36
+ s.homepage = "http://github.com/woodhull/application_service".freeze
37
+ s.licenses = ["MIT".freeze]
38
+ s.rubygems_version = "3.1.2".freeze
39
+ s.summary = "Service Layer Scaffold".freeze
41
40
 
42
41
  if s.respond_to? :specification_version then
43
42
  s.specification_version = 4
43
+ end
44
44
 
45
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
47
- s.add_development_dependency(%q<rspec>, [">= 0"])
48
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
49
- else
50
- s.add_dependency(%q<activesupport>, [">= 0"])
51
- s.add_dependency(%q<rspec>, [">= 0"])
52
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
53
- end
45
+ if s.respond_to? :add_runtime_dependency then
46
+ s.add_runtime_dependency(%q<activesupport>.freeze, [">= 5.0.0.1", "< 7.0"])
47
+ s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"])
48
+ s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.2", ">= 2.2.1"])
54
49
  else
55
- s.add_dependency(%q<activesupport>, [">= 0"])
56
- s.add_dependency(%q<rspec>, [">= 0"])
57
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
50
+ s.add_dependency(%q<activesupport>.freeze, [">= 5.0.0.1", "< 7.0"])
51
+ s.add_dependency(%q<rspec>.freeze, ["~> 3.5"])
52
+ s.add_dependency(%q<jeweler>.freeze, ["~> 2.2", ">= 2.2.1"])
58
53
  end
59
54
  end
60
55
 
@@ -3,15 +3,13 @@ require 'active_support/all'
3
3
  class ApplicationService
4
4
 
5
5
  include ActiveSupport::Callbacks
6
- define_callbacks :save, :create, :update, :destroy,
7
- :terminator => "result == false"
6
+ define_callbacks :save, :create, :update, :destroy, {terminator: ->(target, result) { result.call == false }, skip_after_callbacks_if_terminated: true}
8
7
 
9
8
  def initialize
10
9
  end
11
10
 
12
-
13
11
  def self.before(callback, *args)
14
- options = extract_callback_options(args, '!halted')
12
+ options = extract_callback_options(args)
15
13
 
16
14
  args.each do |arg|
17
15
  set_callback callback, :before, arg, options
@@ -22,7 +20,12 @@ class ApplicationService
22
20
  end
23
21
 
24
22
  def self.after(callback, *args)
25
- options = extract_callback_options(args, "!halted && value")
23
+ options = extract_callback_options(args)
24
+
25
+ conditional = ActiveSupport::Callbacks::Conditionals::Value.new { |v|
26
+ v != false
27
+ }
28
+ options[:if] = Array(options[:if]) << conditional
26
29
 
27
30
  args.each do |arg|
28
31
  set_callback callback, :after, arg, options
@@ -127,13 +130,10 @@ class ApplicationService
127
130
  end
128
131
  end
129
132
 
130
- def self.extract_callback_options(args, default_if_option)
133
+ private
134
+
135
+ def self.extract_callback_options(args)
131
136
  options = args.last.is_a?(Hash) ? args.pop : {}
132
- if options && options.has_key?(:if)
133
- options[:if] = [options[:if], default_if_option]
134
- else
135
- options[:if] = default_if_option
136
- end
137
137
 
138
138
  options
139
139
  end
@@ -9,35 +9,35 @@ describe ApplicationService do
9
9
  it "should allow set and get" do
10
10
  obj = double()
11
11
  as = ApplicationService.new
12
- as.current_object= obj
13
- as.current_object.should == obj
12
+ as.current_object = obj
13
+ expect(as.current_object).to eq(obj)
14
14
  end
15
15
  end
16
16
 
17
17
  describe "#save" do
18
18
  it "should let you save an object" do
19
19
  obj = double()
20
- obj.stub(:new_record?).and_return(true)
21
- obj.should_receive(:save)
20
+ allow(obj).to receive(:new_record?).and_return(true)
21
+ expect(obj).to receive(:save)
22
22
  subject.save(obj)
23
23
  end
24
24
 
25
25
  it "should trigger create" do
26
26
  obj = double()
27
- obj.stub(:new_record?).and_return(true)
28
- obj.stub(:save)
27
+ allow(obj).to receive(:new_record?).and_return(true)
28
+ allow(obj).to receive(:save)
29
29
 
30
- subject.should_receive(:create)
30
+ expect(subject).to receive(:create)
31
31
  subject.save(obj)
32
32
  end
33
33
 
34
34
 
35
35
  it "should trigger update" do
36
36
  obj = double()
37
- obj.stub(:new_record?).and_return(false)
38
- obj.stub(:save)
37
+ allow(obj).to receive(:new_record?).and_return(false)
38
+ allow(obj).to receive(:save)
39
39
 
40
- subject.should_receive(:update)
40
+ expect(subject).to receive(:update)
41
41
  subject.save(obj)
42
42
  end
43
43
  end
@@ -45,27 +45,27 @@ describe ApplicationService do
45
45
  describe "#save!" do
46
46
  it "should let you save an object" do
47
47
  obj = double()
48
- obj.stub(:new_record?).and_return(true)
49
- obj.should_receive(:save!)
48
+ allow(obj).to receive(:new_record?).and_return(true)
49
+ expect(obj).to receive(:save!)
50
50
  subject.save!(obj)
51
51
  end
52
52
 
53
53
  it "should trigger create" do
54
54
  obj = double()
55
- obj.stub(:new_record?).and_return(true)
56
- obj.stub(:save!)
55
+ allow(obj).to receive(:new_record?).and_return(true)
56
+ allow(obj).to receive(:save!)
57
57
 
58
- subject.should_receive(:create!)
58
+ expect(subject).to receive(:create!)
59
59
  subject.save!(obj)
60
60
  end
61
61
 
62
62
 
63
63
  it "should trigger update" do
64
64
  obj = double()
65
- obj.stub(:new_record?).and_return(false)
66
- obj.stub(:save!)
65
+ allow(obj).to receive(:new_record?).and_return(false)
66
+ allow(obj).to receive(:save!)
67
67
 
68
- subject.should_receive(:update!)
68
+ expect(subject).to receive(:update!)
69
69
  subject.save!(obj)
70
70
  end
71
71
  end
@@ -73,8 +73,8 @@ describe ApplicationService do
73
73
  describe "#update_attributes" do
74
74
  it "should trigger update" do
75
75
  obj = double()
76
- obj.should_receive(:assign_attributes).with( {:foo => 'bar'}).and_return(:true)
77
- obj.should_receive(:save)
76
+ expect(obj).to receive(:assign_attributes).with( {:foo => 'bar'}).and_return(:true)
77
+ expect(obj).to receive(:save)
78
78
 
79
79
  subject.update_attributes(obj, {:foo => 'bar'})
80
80
  end
@@ -83,7 +83,7 @@ describe ApplicationService do
83
83
  describe '#destroy' do
84
84
  it "should trigger destroy" do
85
85
  obj = double()
86
- obj.should_receive(:destroy)
86
+ expect(obj).to receive(:destroy)
87
87
 
88
88
  subject.destroy(obj)
89
89
  end
@@ -159,7 +159,7 @@ describe ApplicationService do
159
159
  expect(service).to receive(:before_save_callback).once
160
160
  expect(service).to receive(:after_save_callback).once
161
161
 
162
- expect { service.admin_save(object) }.to raise_error
162
+ expect { service.admin_save(object) }.to raise_error(StandardError)
163
163
 
164
164
  expect(object).to receive(:save).and_return(true)
165
165
 
@@ -209,12 +209,12 @@ describe ApplicationService do
209
209
  end
210
210
 
211
211
  service = service_klass.new
212
- service.should_not_receive(:before_save_callback)
212
+ expect(service).to_not receive(:before_save_callback)
213
213
  service.save(object)
214
214
 
215
215
  invoke_callback = true
216
216
  service = service_klass.new
217
- service.should_receive(:before_save_callback).and_return(true)
217
+ expect(service).to receive(:before_save_callback).and_return(true)
218
218
  service.save(object)
219
219
  end
220
220
 
@@ -226,42 +226,75 @@ describe ApplicationService do
226
226
  end
227
227
 
228
228
  service = service_klass.new
229
- service.should_not_receive(:before_save_callback_1)
230
- service.should_not_receive(:before_save_callback_2)
229
+ expect(service).not_to receive(:before_save_callback_1)
230
+ expect(service).not_to receive(:before_save_callback_2)
231
231
  service.save(object)
232
232
 
233
233
  invoke_callback = true
234
234
  service = service_klass.new
235
- service.should_receive(:before_save_callback_1).and_return(true)
236
- service.should_receive(:before_save_callback_2).and_return(true)
235
+ expect(service).to receive(:before_save_callback_1).and_return(true)
236
+ expect(service).to receive(:before_save_callback_2).and_return(true)
237
237
  service.save(object)
238
238
  end
239
239
 
240
240
  it "should not invoke callback if halted without options" do
241
- pending('Need to look deeper on ActiveSupport::Callback code to understand how halt works')
242
-
243
241
  service_klass = Class.new(ApplicationService) do
244
- before :save, :before_save_callback
242
+ before :save, :before_save_callback1, :before_save_callback2
245
243
  end
246
244
 
247
245
  service = service_klass.new
248
- service.should_not_receive(:before_save_callback)
249
- service.stub(:halted).and_return(true)
246
+ expect(service).not_to receive(:before_save_callback2)
247
+ allow(service).to receive(:before_save_callback1).and_return(false)
250
248
  service.save(object)
251
249
  end
252
250
 
253
- it "should not invoke callback if halted with options" do
254
- pending('Need to look deeper on ActiveSupport::Callback code to understand how halt works')
251
+ it "should invoke callback if callback successful" do
252
+ service_klass = Class.new(ApplicationService) do
253
+ before :save, :before_save_callback1, :before_save_callback2
254
+ end
255
255
 
256
+ service = service_klass.new
257
+ expect(service).to receive(:before_save_callback2)
258
+ allow(service).to receive(:before_save_callback1).and_return(true)
259
+ service.save(object)
260
+ end
261
+
262
+ it "should invoke subsequent callbacks if a callback is skipped with options" do
256
263
  service_klass = Class.new(ApplicationService) do
257
- before :save, :before_save_callback, if: 'true'
264
+ before :save, :before_save_callback, if: -> { false }
265
+ before :save, :before_save_callback_2
266
+
258
267
  end
259
268
 
260
269
  service = service_klass.new
261
- service.should_not_receive(:before_save_callback)
262
- service.stub(:halted).and_return(true)
270
+ expect(service).not_to receive(:before_save_callback)
271
+ expect(service).to receive(:before_save_callback_2)
272
+
273
+ expect(object).to receive(:save).and_return(true)
274
+
263
275
  service.save(object)
264
276
  end
277
+
278
+ it "should halt execution if callback fails" do
279
+ service_klass = Class.new(ApplicationService) do
280
+ before :save, :before_save_callback
281
+ end
282
+
283
+ service = service_klass.new
284
+ allow(service).to receive(:before_save_callback).and_return(false)
285
+ expect(object).not_to receive(:save)
286
+ expect(service.save(object)).to eq(false)
287
+ end
288
+
289
+ it "should invoke callback if conditional is true" do
290
+ service_klass = Class.new(ApplicationService) do
291
+ before :save, :before_save_callback, if: -> { true }
292
+ end
293
+
294
+ service = service_klass.new
295
+ expect(service).to receive(:before_save_callback).and_return(true)
296
+ expect(service.save(object)).to eq(true)
297
+ end
265
298
  end
266
299
 
267
300
  describe '#after' do
@@ -273,12 +306,12 @@ describe ApplicationService do
273
306
  end
274
307
 
275
308
  service = service_klass.new
276
- service.should_not_receive(:after_save_callback)
309
+ expect(service).not_to receive(:after_save_callback)
277
310
  service.save(object)
278
311
 
279
312
  invoke_callback = true
280
313
  service = service_klass.new
281
- service.should_receive(:after_save_callback).and_return(true)
314
+ expect(service).to receive(:after_save_callback).and_return(true)
282
315
  service.save(object)
283
316
  end
284
317
 
@@ -290,16 +323,47 @@ describe ApplicationService do
290
323
  end
291
324
 
292
325
  service = service_klass.new
293
- service.should_not_receive(:after_save_callback_1)
294
- service.should_not_receive(:after_save_callback_2)
326
+ expect(service).not_to receive(:after_save_callback_1)
327
+ expect(service).not_to receive(:after_save_callback_2)
295
328
  service.save(object)
296
329
 
297
330
  invoke_callback = true
298
331
  service = service_klass.new
299
- service.should_receive(:after_save_callback_1).and_return(true)
300
- service.should_receive(:after_save_callback_2).and_return(true)
332
+ expect(service).to receive(:after_save_callback_1).and_return(true)
333
+ expect(service).to receive(:after_save_callback_2).and_return(true)
301
334
  service.save(object)
302
335
  end
336
+
337
+ it "should invoke callback if conditional is true" do
338
+ service_klass = Class.new(ApplicationService) do
339
+ after :save, :after_save_callback, if: -> { true }
340
+ end
341
+
342
+ service = service_klass.new
343
+ expect(service).to receive(:after_save_callback).and_return(true)
344
+ expect(service.save(object)).to eq(true)
345
+ end
346
+
347
+ it 'should not invoke callback if conditional is false' do
348
+ service_klass = Class.new(ApplicationService) do
349
+ after :save, :after_save_callback, if: -> { false }
350
+ end
351
+
352
+ service = service_klass.new
353
+ expect(service).not_to receive(:after_save_callback)
354
+ expect(service.save(object)).to eq(true)
355
+ end
356
+
357
+ it 'should not invoke after save callbacks when save fails' do
358
+ service_klass = Class.new(ApplicationService) do
359
+ after :save, :after_save_callback
360
+ end
361
+
362
+ service = service_klass.new
363
+ expect(object).to receive(:save).and_return(false)
364
+ expect(service).not_to receive(:after_save_callback)
365
+ expect(service.save(object)).to eq(false)
366
+ end
303
367
  end
304
368
  end
305
369
  end
metadata CHANGED
@@ -1,57 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: application_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Woodhull
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-18 00:00:00.000000000 Z
11
+ date: 2020-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.0.0.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - '>='
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 5.0.0.1
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '0'
32
+ version: '7.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rspec
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - '>='
37
+ - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0'
39
+ version: '3.5'
34
40
  type: :development
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - '>='
44
+ - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '0'
46
+ version: '3.5'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: jeweler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - ~>
51
+ - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: 1.8.4
53
+ version: '2.2'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 2.2.1
48
57
  type: :development
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
51
60
  requirements:
52
- - - ~>
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '2.2'
64
+ - - ">="
53
65
  - !ruby/object:Gem::Version
54
- version: 1.8.4
66
+ version: 2.2.1
55
67
  description: A service layer scaffold for rails apps extracted from Agra
56
68
  email: woodhull@gmail.com
57
69
  executables: []
@@ -60,12 +72,11 @@ extra_rdoc_files:
60
72
  - LICENSE.txt
61
73
  - README.rdoc
62
74
  files:
63
- - .document
64
- - .rspec
65
- - .ruby-gemset
66
- - .ruby-version
75
+ - ".document"
76
+ - ".rspec"
77
+ - ".ruby-gemset"
78
+ - ".ruby-version"
67
79
  - Gemfile
68
- - Gemfile.lock
69
80
  - LICENSE.txt
70
81
  - README.rdoc
71
82
  - Rakefile
@@ -84,17 +95,16 @@ require_paths:
84
95
  - lib
85
96
  required_ruby_version: !ruby/object:Gem::Requirement
86
97
  requirements:
87
- - - '>='
98
+ - - ">="
88
99
  - !ruby/object:Gem::Version
89
100
  version: '0'
90
101
  required_rubygems_version: !ruby/object:Gem::Requirement
91
102
  requirements:
92
- - - '>='
103
+ - - ">="
93
104
  - !ruby/object:Gem::Version
94
105
  version: '0'
95
106
  requirements: []
96
- rubyforge_project:
97
- rubygems_version: 2.2.2
107
+ rubygems_version: 3.1.2
98
108
  signing_key:
99
109
  specification_version: 4
100
110
  summary: Service Layer Scaffold
@@ -1,71 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- activesupport (4.0.0)
5
- i18n (~> 0.6, >= 0.6.4)
6
- minitest (~> 4.2)
7
- multi_json (~> 1.3)
8
- thread_safe (~> 0.1)
9
- tzinfo (~> 0.3.37)
10
- addressable (2.3.6)
11
- atomic (1.1.10)
12
- builder (3.2.2)
13
- diff-lcs (1.2.4)
14
- faraday (0.8.9)
15
- multipart-post (~> 1.2.0)
16
- git (1.2.7)
17
- github_api (0.10.1)
18
- addressable
19
- faraday (~> 0.8.1)
20
- hashie (>= 1.2)
21
- multi_json (~> 1.4)
22
- nokogiri (~> 1.5.2)
23
- oauth2
24
- hashie (3.2.0)
25
- highline (1.6.21)
26
- i18n (0.6.4)
27
- jeweler (1.8.8)
28
- builder
29
- bundler (~> 1.0)
30
- git (>= 1.2.5)
31
- github_api (= 0.10.1)
32
- highline (>= 1.6.15)
33
- nokogiri (= 1.5.10)
34
- rake
35
- rdoc
36
- json (1.8.1)
37
- jwt (1.0.0)
38
- minitest (4.7.5)
39
- multi_json (1.10.1)
40
- multi_xml (0.5.5)
41
- multipart-post (1.2.0)
42
- nokogiri (1.5.10)
43
- oauth2 (1.0.0)
44
- faraday (>= 0.8, < 0.10)
45
- jwt (~> 1.0)
46
- multi_json (~> 1.3)
47
- multi_xml (~> 0.5)
48
- rack (~> 1.2)
49
- rack (1.5.2)
50
- rake (10.3.2)
51
- rdoc (4.1.1)
52
- json (~> 1.4)
53
- rspec (2.14.1)
54
- rspec-core (~> 2.14.0)
55
- rspec-expectations (~> 2.14.0)
56
- rspec-mocks (~> 2.14.0)
57
- rspec-core (2.14.4)
58
- rspec-expectations (2.14.0)
59
- diff-lcs (>= 1.1.3, < 2.0)
60
- rspec-mocks (2.14.2)
61
- thread_safe (0.1.2)
62
- atomic
63
- tzinfo (0.3.37)
64
-
65
- PLATFORMS
66
- ruby
67
-
68
- DEPENDENCIES
69
- activesupport
70
- jeweler (~> 1.8.4)
71
- rspec