scorpion-ioc 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +0 -1
  3. data/Gemfile +0 -1
  4. data/README.md +4 -1
  5. data/lib/scorpion.rb +38 -11
  6. data/lib/scorpion/attribute.rb +4 -1
  7. data/lib/scorpion/chain_hunter.rb +58 -0
  8. data/lib/scorpion/dependency.rb +7 -3
  9. data/lib/scorpion/dependency/builder_dependency.rb +5 -1
  10. data/lib/scorpion/dependency/class_dependency.rb +10 -7
  11. data/lib/scorpion/dependency_map.rb +11 -2
  12. data/lib/scorpion/error.rb +6 -0
  13. data/lib/scorpion/hunt.rb +32 -21
  14. data/lib/scorpion/hunter.rb +15 -2
  15. data/lib/scorpion/locale/en.yml +1 -0
  16. data/lib/scorpion/method.rb +24 -0
  17. data/lib/scorpion/nest.rb +5 -0
  18. data/lib/scorpion/object.rb +30 -23
  19. data/lib/scorpion/object_constructor.rb +23 -14
  20. data/lib/scorpion/rails.rb +1 -0
  21. data/lib/scorpion/rails/active_record/association.rb +5 -6
  22. data/lib/scorpion/rails/active_record/model.rb +4 -5
  23. data/lib/scorpion/rails/active_record/relation.rb +2 -4
  24. data/lib/scorpion/rails/controller.rb +31 -2
  25. data/lib/scorpion/rails/job.rb +12 -0
  26. data/lib/scorpion/rails/mailer.rb +42 -0
  27. data/lib/scorpion/rails/nest.rb +23 -20
  28. data/lib/scorpion/rails/railtie.rb +1 -0
  29. data/lib/scorpion/rspec/helper.rb +47 -0
  30. data/lib/scorpion/stinger.rb +0 -1
  31. data/lib/scorpion/version.rb +1 -1
  32. data/scorpion.gemspec +1 -0
  33. data/spec/lib/scorpion/attribute_spec.rb +10 -0
  34. data/spec/lib/scorpion/hunt_spec.rb +9 -3
  35. data/spec/lib/scorpion/hunter_spec.rb +13 -2
  36. data/spec/lib/scorpion/object_constructor_spec.rb +63 -6
  37. data/spec/lib/scorpion/object_spec.rb +9 -5
  38. data/spec/lib/scorpion/rails/controller_spec.rb +33 -1
  39. data/spec/lib/scorpion/rspec/helper_spec.rb +10 -0
  40. data/spec/spec_helper.rb +5 -0
  41. metadata +20 -3
@@ -25,6 +25,16 @@ describe Scorpion::Rspec::Helper do
25
25
  expect( scorpion.fetch Numeric ).to eq 42
26
26
  end
27
27
 
28
+ context "hunting" do
29
+ hunt( :number, Numeric, 5 )
30
+ hunt( :string, String ) { "hello" }
31
+ hunt( :double, Regexp )
32
+
33
+ specify{ expect( scorpion.fetch Numeric ).to eq 5 }
34
+ specify{ expect( scorpion.fetch String ).to eq "hello" }
35
+ specify{ expect( scorpion.fetch Regexp ).to be_a RSpec::Mocks::TestDouble }
36
+ end
37
+
28
38
  context "child context" do
29
39
  it "inherits" do
30
40
  expect( scorpion.fetch String ).to eq "Shazam!"
data/spec/spec_helper.rb CHANGED
@@ -32,4 +32,9 @@ RSpec.configure do |config|
32
32
  config.before(:each) { GC.disable }
33
33
  config.after(:each) { GC.enable }
34
34
 
35
+ config.before( :each, type: :model ) do
36
+ [ Todo, Author ].each do |model|
37
+ model.destroy_all
38
+ end
39
+ end
35
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scorpion-ioc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Alexander
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-27 00:00:00.000000000 Z
11
+ date: 2015-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.5.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: sqlite3
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Embrace convention over configuration while still benefitting from dependency
98
112
  injection design principles.
99
113
  email:
@@ -120,6 +134,7 @@ files:
120
134
  - lib/scorpion.rb
121
135
  - lib/scorpion/attribute.rb
122
136
  - lib/scorpion/attribute_set.rb
137
+ - lib/scorpion/chain_hunter.rb
123
138
  - lib/scorpion/dependency.rb
124
139
  - lib/scorpion/dependency/argument_dependency.rb
125
140
  - lib/scorpion/dependency/builder_dependency.rb
@@ -131,6 +146,7 @@ files:
131
146
  - lib/scorpion/hunt.rb
132
147
  - lib/scorpion/hunter.rb
133
148
  - lib/scorpion/locale/en.yml
149
+ - lib/scorpion/method.rb
134
150
  - lib/scorpion/nest.rb
135
151
  - lib/scorpion/object.rb
136
152
  - lib/scorpion/object_constructor.rb
@@ -141,6 +157,7 @@ files:
141
157
  - lib/scorpion/rails/active_record/relation.rb
142
158
  - lib/scorpion/rails/controller.rb
143
159
  - lib/scorpion/rails/job.rb
160
+ - lib/scorpion/rails/mailer.rb
144
161
  - lib/scorpion/rails/nest.rb
145
162
  - lib/scorpion/rails/railtie.rb
146
163
  - lib/scorpion/rspec.rb
@@ -195,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
212
  version: '0'
196
213
  requirements: []
197
214
  rubyforge_project:
198
- rubygems_version: 2.4.6
215
+ rubygems_version: 2.4.8
199
216
  signing_key:
200
217
  specification_version: 4
201
218
  summary: Add IoC to rails with minimal fuss and ceremony