rom-roda 0.1.1 → 0.2.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 +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +18 -0
- data/README.md +100 -13
- data/lib/rom/roda/plugin.rb +38 -18
- data/lib/rom/roda/version.rb +1 -1
- data/rom-roda.gemspec +1 -1
- data/spec/integration/load_path_spec.rb +88 -4
- data/spec/integration/plugin_setup_spec.rb +116 -8
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e861bfecc7fde3d430801f8b00322a40882cdb0
|
4
|
+
data.tar.gz: c948e4e5150d773338385794726a20f4e24fbf1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d1b5003d145863a943b467f9d78d5c9e08cce5af73e4766887544d314c5988a06daba0f28e4f7a0feb13c59b180045b0470366e0a84a817c313781b3a57f4fb
|
7
|
+
data.tar.gz: b6bcc32532e979d73434bd107d132e6875a8432c281017b1f26ad1f139dc7bc99b2c6a78d8c76fc06d3b4a0a8c025913f5e218b33e46f0120084563955499752
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
## v0.2.0 2015-08-19
|
2
|
+
|
3
|
+
## Added
|
4
|
+
|
5
|
+
- Support for multi-envs (AMHOL)
|
6
|
+
|
7
|
+
## Changed
|
8
|
+
|
9
|
+
- Updated to work with ROM 0.9.0 and `auto_registration` plugin (AMHOL)
|
10
|
+
|
11
|
+
## v0.1.1 2015-07-13
|
12
|
+
|
13
|
+
TODO
|
14
|
+
|
15
|
+
## v0.1.0 2015-07-13
|
16
|
+
|
17
|
+
TODO
|
18
|
+
|
1
19
|
## v0.0.2 2015-04-05
|
2
20
|
|
3
21
|
- Hook `ROM.finalize` into `Roda.freeze` so that ROM environment is sealed at the same time as the Roda app.
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ Roda plugin for [Ruby Object Mapper](https://github.com/rom-rb/rom).
|
|
4
4
|
|
5
5
|
## Issues
|
6
6
|
|
7
|
-
Please report any issues in the
|
7
|
+
Please report any issues in the [issue tracker](https://github.com/rom-rb/rom-roda/issues/new).
|
8
8
|
|
9
9
|
## Usage
|
10
10
|
|
@@ -21,17 +21,29 @@ Embed a ROM environment in your Roda app using the `plugin` hook:
|
|
21
21
|
|
22
22
|
```ruby
|
23
23
|
class App < Roda
|
24
|
-
plugin :rom
|
24
|
+
plugin :rom, {
|
25
|
+
default: {
|
26
|
+
setup: :memory
|
27
|
+
},
|
28
|
+
plugins: [:auto_registration]
|
29
|
+
}
|
25
30
|
end
|
26
31
|
```
|
27
32
|
|
28
|
-
Options passed to the
|
33
|
+
Options passed to the environment under the `:setup` key are used to set up one or more adapters, using the [repository args format](http://www.rubydoc.info/gems/rom/ROM/Global#setup-instance_method) supported by `ROM.setup`.
|
34
|
+
|
35
|
+
Plugins passed to the environment under the `:plugins` key will be applied to the environment.
|
29
36
|
|
30
|
-
To register a single `sql` repository with an Sqlite data source:
|
37
|
+
To register a single `sql` repository with an Sqlite data source and use the `auto_registration` environment plugin:
|
31
38
|
|
32
39
|
```ruby
|
33
40
|
class App < Roda
|
34
|
-
plugin :rom,
|
41
|
+
plugin :rom, {
|
42
|
+
default: {
|
43
|
+
setup: [:sql, 'sqlite::memory'],
|
44
|
+
plugins: [:auto_registration]
|
45
|
+
}
|
46
|
+
}
|
35
47
|
end
|
36
48
|
```
|
37
49
|
|
@@ -40,22 +52,72 @@ To register a 'default' and a 'warehouse' repository:
|
|
40
52
|
```ruby
|
41
53
|
class App < Roda
|
42
54
|
plugin :rom, {
|
43
|
-
default:
|
44
|
-
|
55
|
+
default: {
|
56
|
+
setup: {
|
57
|
+
default: [:sql, 'sqlite::memory'],
|
58
|
+
warehouse: [:sql, 'postgres://localhost/warehouse']
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
end
|
63
|
+
```
|
64
|
+
|
65
|
+
You can also register multiple ROM environments, when doing so, it can be useful to pass configuration options to environment plugins, the following example will register items defined in the `Web` namespace with the `memory` environment and items defined in the `API` namespace with the `sql` environment:
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
class App < Roda
|
69
|
+
plugin :rom, {
|
70
|
+
memory: {
|
71
|
+
setup: :memory,
|
72
|
+
plugins: {
|
73
|
+
auto_registration: {
|
74
|
+
if: ->(item) { item.to_s[/(.*)(?=::)/] == 'Web' }
|
75
|
+
}
|
76
|
+
}
|
77
|
+
},
|
78
|
+
sql: {
|
79
|
+
setup: [:sql, 'sqlite::memory'],
|
80
|
+
plugins: {
|
81
|
+
auto_registration: {
|
82
|
+
if: ->(item) { item.to_s[/(.*)(?=::)/] == 'API' }
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}
|
45
86
|
}
|
46
87
|
end
|
47
88
|
```
|
48
89
|
|
49
90
|
### Loading ROM components
|
50
91
|
|
51
|
-
Relations, commands and mappers
|
92
|
+
Relations, commands and mappers need to be registered with the ROM environment before the environment is finalized (this can also be done via the `auto_registration` plugin). This means that these components must be required by the app in a specific order during setup.
|
52
93
|
|
53
94
|
You can autoload ROM components from a local path in your app by passing the `:load_path` option to the plugin:
|
54
95
|
|
55
96
|
```ruby
|
56
97
|
class App < Roda
|
57
98
|
# register ROM components from './models'
|
58
|
-
plugin :rom,
|
99
|
+
plugin :rom, {
|
100
|
+
default: {
|
101
|
+
setup: [:sql, 'sqlite::memory'],
|
102
|
+
plugins: [:auto_registration]
|
103
|
+
},
|
104
|
+
load_path: 'models'
|
105
|
+
}
|
106
|
+
end
|
107
|
+
```
|
108
|
+
|
109
|
+
You can also pass an array of paths to be autoloaded:
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
class App < Roda
|
113
|
+
# register ROM components from './models' and './lib'
|
114
|
+
plugin :rom, {
|
115
|
+
default: {
|
116
|
+
setup: [:sql, 'sqlite::memory'],
|
117
|
+
plugins: [:auto_registration]
|
118
|
+
},
|
119
|
+
load_paths: ['models', 'lib']
|
120
|
+
}
|
59
121
|
end
|
60
122
|
```
|
61
123
|
|
@@ -67,7 +129,13 @@ class MyApplication < Roda
|
|
67
129
|
opts[:root] = 'app'
|
68
130
|
|
69
131
|
# register ROM components from './app/model'
|
70
|
-
plugin :rom,
|
132
|
+
plugin :rom, {
|
133
|
+
default: {
|
134
|
+
setup: [:sql, 'sqlite::memory'],
|
135
|
+
plugins: [:auto_registration]
|
136
|
+
},
|
137
|
+
load_path: 'model'
|
138
|
+
}
|
71
139
|
end
|
72
140
|
```
|
73
141
|
|
@@ -81,27 +149,38 @@ Provides an instance of the ROM environment:
|
|
81
149
|
|
82
150
|
```ruby
|
83
151
|
route do |r|
|
84
|
-
rom
|
152
|
+
rom # access :default ROM environment
|
153
|
+
rom(:memory) # access :memory ROM environment
|
85
154
|
end
|
86
155
|
```
|
87
156
|
|
88
|
-
#### relation(name)
|
157
|
+
#### relation(name, environment = :default)
|
89
158
|
|
90
159
|
Provides an instance of the named relation:
|
91
160
|
|
92
161
|
```ruby
|
93
162
|
route do |r|
|
94
163
|
r.on('catalog') do
|
164
|
+
# access :products relation from the :default ROM environment
|
95
165
|
@products = relation(:products).in_stock
|
96
166
|
|
97
167
|
r.is('category/:category') do |category|
|
98
168
|
@products.by_category(category)
|
99
169
|
end
|
100
170
|
end
|
171
|
+
|
172
|
+
r.on('users') do
|
173
|
+
# access :users relation from the :sql ROM environment
|
174
|
+
@users = relation(:users, :sql)
|
175
|
+
|
176
|
+
r.is(':user_id') do |user_id|
|
177
|
+
@users.by_id(user_id)
|
178
|
+
end
|
179
|
+
end
|
101
180
|
end
|
102
181
|
```
|
103
182
|
|
104
|
-
#### command(name)
|
183
|
+
#### command(name, environment = :default)
|
105
184
|
|
106
185
|
Provides an instance of the named command:
|
107
186
|
|
@@ -109,9 +188,17 @@ Provides an instance of the named command:
|
|
109
188
|
route do |r|
|
110
189
|
r.is('products') do
|
111
190
|
r.post do
|
191
|
+
# access :products commands from :default ROM environment
|
112
192
|
command(:products).create.call(r['product'])
|
113
193
|
end
|
114
194
|
end
|
195
|
+
|
196
|
+
r.is('users') do
|
197
|
+
r.post do
|
198
|
+
# access :users commands from :sql ROM environment
|
199
|
+
command(:users, :sql).create.call(r['user'])
|
200
|
+
end
|
201
|
+
end
|
115
202
|
end
|
116
203
|
```
|
117
204
|
|
data/lib/rom/roda/plugin.rb
CHANGED
@@ -1,43 +1,63 @@
|
|
1
1
|
module ROM
|
2
2
|
module Roda
|
3
3
|
module Plugin
|
4
|
-
|
5
|
-
|
4
|
+
class << self
|
5
|
+
attr_reader :environments
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
def configure(app, config)
|
8
|
+
load_paths = [*(config.delete(:load_path) || config.delete(:load_paths))].map do |path|
|
9
|
+
File.expand_path(
|
10
|
+
path,
|
11
|
+
app.opts[:root]
|
12
|
+
)
|
13
|
+
end if config[:load_path] || config[:load_paths]
|
10
14
|
|
11
|
-
|
15
|
+
@environments = config.each_with_object({}) do |(env_name, env_config), container|
|
16
|
+
container[env_name] = ROM::Environment.new.tap do |env|
|
17
|
+
env.setup(*[env_config.fetch(:setup)].flatten)
|
12
18
|
|
13
|
-
|
14
|
-
|
19
|
+
env_config.fetch(:plugins, {}).each do |*args|
|
20
|
+
env.use(*args.flatten)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
load_paths.map { |path| load_files(path) } if load_paths
|
26
|
+
end
|
15
27
|
|
16
|
-
|
17
|
-
|
18
|
-
|
28
|
+
def load_files(path)
|
29
|
+
Dir["#{path}/**/*.rb"].each do |class_file|
|
30
|
+
require class_file
|
31
|
+
end
|
19
32
|
end
|
20
33
|
end
|
21
34
|
|
22
35
|
module ClassMethods
|
23
36
|
def freeze
|
24
|
-
ROM.
|
37
|
+
@__rom__ = ROM::Roda::Plugin.environments.each_with_object({}) do |(name, env), container|
|
38
|
+
container[name] = env.finalize.container
|
39
|
+
end
|
25
40
|
|
26
41
|
super
|
27
42
|
end
|
43
|
+
|
44
|
+
def rom(environment = nil)
|
45
|
+
environment = :default if environment.nil?
|
46
|
+
@__rom__.fetch(environment)
|
47
|
+
end
|
28
48
|
end
|
29
49
|
|
30
50
|
module InstanceMethods
|
31
|
-
def rom
|
32
|
-
|
51
|
+
def rom(environment = nil)
|
52
|
+
self.class.rom(environment)
|
33
53
|
end
|
34
54
|
|
35
|
-
def relation(name)
|
36
|
-
|
55
|
+
def relation(name, environment = nil)
|
56
|
+
rom(environment).relation(name)
|
37
57
|
end
|
38
58
|
|
39
|
-
def command(name)
|
40
|
-
|
59
|
+
def command(name, environment = nil)
|
60
|
+
rom(environment).command(name)
|
41
61
|
end
|
42
62
|
end
|
43
63
|
end
|
data/lib/rom/roda/version.rb
CHANGED
data/rom-roda.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_runtime_dependency 'rom', '~> 0.
|
20
|
+
spec.add_runtime_dependency 'rom', '~> 0.9', '>= 0.9.0'
|
21
21
|
spec.add_runtime_dependency 'inflecto'
|
22
22
|
|
23
23
|
spec.add_development_dependency 'bundler'
|
@@ -1,11 +1,95 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe ROM::Roda::Plugin do
|
4
|
-
|
5
|
-
|
4
|
+
before do
|
5
|
+
allow(ROM::Roda::Plugin).to receive(:load_files)
|
6
|
+
end
|
7
|
+
|
8
|
+
before do
|
9
|
+
Class.new(Roda).plugin :rom, config
|
10
|
+
end
|
11
|
+
|
12
|
+
context 'single path' do
|
13
|
+
context 'under :load_path as string' do
|
14
|
+
let(:config) do
|
15
|
+
{
|
16
|
+
default: {
|
17
|
+
setup: :memory
|
18
|
+
},
|
19
|
+
load_path: 'models'
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('models')) }
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'under :load_path as array' do
|
27
|
+
let(:config) do
|
28
|
+
{
|
29
|
+
default: {
|
30
|
+
setup: :memory
|
31
|
+
},
|
32
|
+
load_path: ['models']
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('models')) }
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'under :load_paths as string' do
|
40
|
+
let(:config) do
|
41
|
+
{
|
42
|
+
default: {
|
43
|
+
setup: :memory
|
44
|
+
},
|
45
|
+
load_paths: 'models'
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('models')) }
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'under :load_paths as string' do
|
53
|
+
let(:config) do
|
54
|
+
{
|
55
|
+
default: {
|
56
|
+
setup: :memory
|
57
|
+
},
|
58
|
+
load_paths: ['models']
|
59
|
+
}
|
60
|
+
end
|
61
|
+
|
62
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('models')) }
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
context 'multiple paths' do
|
67
|
+
context 'under :load_path' do
|
68
|
+
let(:config) do
|
69
|
+
{
|
70
|
+
default: {
|
71
|
+
setup: :memory
|
72
|
+
},
|
73
|
+
load_path: ['api/models', 'web/models']
|
74
|
+
}
|
75
|
+
end
|
76
|
+
|
77
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('api/models')) }
|
78
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('web/models')) }
|
79
|
+
end
|
80
|
+
|
81
|
+
context 'under :load_paths' do
|
82
|
+
let(:config) do
|
83
|
+
{
|
84
|
+
default: {
|
85
|
+
setup: :memory
|
86
|
+
},
|
87
|
+
load_paths: ['api/models', 'web/models']
|
88
|
+
}
|
89
|
+
end
|
6
90
|
|
7
|
-
|
8
|
-
|
91
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('api/models')) }
|
92
|
+
it { expect(ROM::Roda::Plugin).to have_received(:load_files).with(File.expand_path('web/models')) }
|
9
93
|
end
|
10
94
|
end
|
11
95
|
end
|
@@ -6,12 +6,16 @@ describe ROM::Roda::Plugin do
|
|
6
6
|
context 'single adapter' do
|
7
7
|
let(:default_gateway) do
|
8
8
|
class MemoryAdapterExample < Roda
|
9
|
-
plugin :rom,
|
9
|
+
plugin :rom, {
|
10
|
+
default: {
|
11
|
+
setup: :memory
|
12
|
+
}
|
13
|
+
}
|
10
14
|
end
|
11
15
|
|
12
16
|
MemoryAdapterExample.freeze
|
13
17
|
|
14
|
-
|
18
|
+
MemoryAdapterExample.rom.gateways[:default]
|
15
19
|
end
|
16
20
|
|
17
21
|
it 'configures gateway with empty args' do
|
@@ -22,12 +26,16 @@ describe ROM::Roda::Plugin do
|
|
22
26
|
context 'single adapter with settings' do
|
23
27
|
let(:default_gateway) do
|
24
28
|
class SqliteAdapterExample < Roda
|
25
|
-
plugin :rom,
|
29
|
+
plugin :rom, {
|
30
|
+
default: {
|
31
|
+
setup: [:sql, SQL_DSN]
|
32
|
+
}
|
33
|
+
}
|
26
34
|
end
|
27
35
|
|
28
36
|
SqliteAdapterExample.freeze
|
29
37
|
|
30
|
-
|
38
|
+
SqliteAdapterExample.rom.gateways[:default]
|
31
39
|
end
|
32
40
|
|
33
41
|
it 'configures gateway with a connection string' do
|
@@ -39,15 +47,19 @@ describe ROM::Roda::Plugin do
|
|
39
47
|
let(:gateways) do
|
40
48
|
class MultipleAdaptersExample < Roda
|
41
49
|
plugin :rom, {
|
42
|
-
default:
|
43
|
-
|
44
|
-
|
50
|
+
default: {
|
51
|
+
setup: {
|
52
|
+
default: [:sql, SQL_DSN],
|
53
|
+
warehouse: [:sql, SQL_DSN],
|
54
|
+
transient: :memory
|
55
|
+
}
|
56
|
+
}
|
45
57
|
}
|
46
58
|
end
|
47
59
|
|
48
60
|
MultipleAdaptersExample.freeze
|
49
61
|
|
50
|
-
|
62
|
+
MultipleAdaptersExample.rom.gateways
|
51
63
|
end
|
52
64
|
|
53
65
|
it 'configures gateways with given settings' do
|
@@ -56,4 +68,100 @@ describe ROM::Roda::Plugin do
|
|
56
68
|
expect(gateways[:transient]).to be_a(ROM::Memory::Gateway)
|
57
69
|
end
|
58
70
|
end
|
71
|
+
|
72
|
+
context 'multiple environments' do
|
73
|
+
let(:gateways) do
|
74
|
+
class MultipleEnvironmentsExample < Roda
|
75
|
+
plugin :rom, {
|
76
|
+
memory: {
|
77
|
+
setup: :memory
|
78
|
+
},
|
79
|
+
sql: {
|
80
|
+
setup: {
|
81
|
+
default: [:sql, SQL_DSN],
|
82
|
+
warehouse: [:sql, SQL_DSN],
|
83
|
+
transient: :memory
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
89
|
+
MultipleEnvironmentsExample.freeze
|
90
|
+
|
91
|
+
{
|
92
|
+
memory: MultipleEnvironmentsExample.rom(:memory).gateways,
|
93
|
+
sql: MultipleEnvironmentsExample.rom(:sql).gateways
|
94
|
+
}
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'configures gateways with given settings' do
|
98
|
+
expect(gateways[:memory][:default]).to be_a(ROM::Memory::Gateway)
|
99
|
+
expect(gateways[:sql][:default]).to be_a(ROM::SQL::Gateway)
|
100
|
+
expect(gateways[:sql][:warehouse]).to be_a(ROM::SQL::Gateway)
|
101
|
+
expect(gateways[:sql][:transient]).to be_a(ROM::Memory::Gateway)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
context 'with environment plugin settings' do
|
106
|
+
context 'without plugin config' do
|
107
|
+
let(:relations) do
|
108
|
+
class PluginExample < Roda
|
109
|
+
plugin :rom, {
|
110
|
+
default: {
|
111
|
+
setup: :memory,
|
112
|
+
plugins: [:auto_registration]
|
113
|
+
}
|
114
|
+
}
|
115
|
+
end
|
116
|
+
|
117
|
+
class Users < ROM::Relation[:memory]
|
118
|
+
dataset :users
|
119
|
+
end
|
120
|
+
|
121
|
+
PluginExample.freeze
|
122
|
+
|
123
|
+
PluginExample.rom.relations
|
124
|
+
end
|
125
|
+
|
126
|
+
it 'configures gateway with a connection string' do
|
127
|
+
expect(relations[:users]).to be_a(ROM::Memory::Relation)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
context 'with plugin config' do
|
132
|
+
let(:relations) do
|
133
|
+
class PluginWithConfigExample < Roda
|
134
|
+
plugin :rom, {
|
135
|
+
default: {
|
136
|
+
setup: :memory,
|
137
|
+
plugins: {
|
138
|
+
auto_registration: {
|
139
|
+
if: ->(item) { item.to_s[/(.*)(?=::)/] == 'API' }
|
140
|
+
}
|
141
|
+
}
|
142
|
+
}
|
143
|
+
}
|
144
|
+
end
|
145
|
+
|
146
|
+
class Posts < ROM::Relation[:memory]
|
147
|
+
dataset :posts
|
148
|
+
end
|
149
|
+
|
150
|
+
module API
|
151
|
+
class Comments < ROM::Relation[:memory]
|
152
|
+
dataset :comments
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
PluginWithConfigExample.freeze
|
157
|
+
|
158
|
+
PluginWithConfigExample.rom.relations
|
159
|
+
end
|
160
|
+
|
161
|
+
it 'configures gateway with a connection string' do
|
162
|
+
expect { relations[:posts] }.to raise_error ROM::Registry::ElementNotFoundError
|
163
|
+
expect(relations[:comments]).to be_a(ROM::Memory::Relation)
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
59
167
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rom-roda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Rickerby
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rom
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.9'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
22
|
+
version: 0.9.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
29
|
+
version: '0.9'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
32
|
+
version: 0.9.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: inflecto
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
version: '0'
|
128
128
|
requirements: []
|
129
129
|
rubyforge_project:
|
130
|
-
rubygems_version: 2.
|
130
|
+
rubygems_version: 2.4.5
|
131
131
|
signing_key:
|
132
132
|
specification_version: 4
|
133
133
|
summary: Integrate Ruby Object Mapper with Roda
|
@@ -135,4 +135,3 @@ test_files:
|
|
135
135
|
- spec/integration/load_path_spec.rb
|
136
136
|
- spec/integration/plugin_setup_spec.rb
|
137
137
|
- spec/spec_helper.rb
|
138
|
-
has_rdoc:
|