application_service 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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