rom-mapper 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/.rspec +1 -1
- data/.travis.yml +19 -13
- data/{Changelog.md → CHANGELOG.md} +6 -0
- data/Gemfile +23 -10
- data/README.md +17 -12
- data/Rakefile +12 -4
- data/lib/rom-mapper.rb +6 -15
- data/lib/rom/header.rb +195 -0
- data/lib/rom/header/attribute.rb +184 -0
- data/lib/rom/mapper.rb +63 -100
- data/lib/rom/mapper/attribute_dsl.rb +477 -0
- data/lib/rom/mapper/dsl.rb +120 -0
- data/lib/rom/mapper/model_dsl.rb +55 -0
- data/lib/rom/mapper/version.rb +3 -7
- data/lib/rom/model_builder.rb +99 -0
- data/lib/rom/processor.rb +28 -0
- data/lib/rom/processor/transproc.rb +388 -0
- data/rakelib/benchmark.rake +15 -0
- data/rakelib/mutant.rake +16 -0
- data/rakelib/rubocop.rake +18 -0
- data/rom-mapper.gemspec +7 -6
- data/spec/spec_helper.rb +32 -33
- data/spec/support/constant_leak_finder.rb +14 -0
- data/spec/support/mutant.rb +10 -0
- data/spec/unit/rom/mapper/dsl_spec.rb +467 -0
- data/spec/unit/rom/mapper_spec.rb +83 -0
- data/spec/unit/rom/processor/transproc_spec.rb +448 -0
- metadata +68 -89
- data/.ruby-version +0 -1
- data/Gemfile.devtools +0 -55
- data/config/devtools.yml +0 -2
- data/config/flay.yml +0 -3
- data/config/flog.yml +0 -2
- data/config/mutant.yml +0 -3
- data/config/reek.yml +0 -103
- data/config/rubocop.yml +0 -45
- data/lib/rom/mapper/attribute.rb +0 -31
- data/lib/rom/mapper/dumper.rb +0 -27
- data/lib/rom/mapper/loader.rb +0 -22
- data/lib/rom/mapper/loader/allocator.rb +0 -32
- data/lib/rom/mapper/loader/attribute_writer.rb +0 -23
- data/lib/rom/mapper/loader/object_builder.rb +0 -28
- data/spec/shared/unit/loader_call.rb +0 -13
- data/spec/shared/unit/loader_identity.rb +0 -13
- data/spec/shared/unit/mapper_context.rb +0 -13
- data/spec/unit/rom/mapper/call_spec.rb +0 -32
- data/spec/unit/rom/mapper/class_methods/build_spec.rb +0 -64
- data/spec/unit/rom/mapper/dump_spec.rb +0 -15
- data/spec/unit/rom/mapper/dumper/call_spec.rb +0 -29
- data/spec/unit/rom/mapper/dumper/identity_spec.rb +0 -28
- data/spec/unit/rom/mapper/header/each_spec.rb +0 -28
- data/spec/unit/rom/mapper/header/element_reader_spec.rb +0 -25
- data/spec/unit/rom/mapper/header/keys_spec.rb +0 -32
- data/spec/unit/rom/mapper/identity_from_tuple_spec.rb +0 -15
- data/spec/unit/rom/mapper/identity_spec.rb +0 -15
- data/spec/unit/rom/mapper/load_spec.rb +0 -15
- data/spec/unit/rom/mapper/loader/allocator/call_spec.rb +0 -7
- data/spec/unit/rom/mapper/loader/allocator/identity_spec.rb +0 -7
- data/spec/unit/rom/mapper/loader/attribute_writer/call_spec.rb +0 -7
- data/spec/unit/rom/mapper/loader/attribute_writer/identity_spec.rb +0 -7
- data/spec/unit/rom/mapper/loader/object_builder/call_spec.rb +0 -7
- data/spec/unit/rom/mapper/loader/object_builder/identity_spec.rb +0 -7
- data/spec/unit/rom/mapper/model_spec.rb +0 -11
- data/spec/unit/rom/mapper/new_object_spec.rb +0 -14
metadata
CHANGED
@@ -1,178 +1,157 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rom-mapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Piotr Solnica
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-08-10 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
14
|
+
name: transproc
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
19
|
+
version: '0.3'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
26
|
+
version: '0.3'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: equalizer
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.0
|
33
|
+
version: '0.0'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 0.0.10
|
38
37
|
type: :runtime
|
39
38
|
prerelease: false
|
40
39
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
40
|
requirements:
|
43
|
-
- - ~>
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0.0'
|
44
|
+
- - ">="
|
44
45
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.0.
|
46
|
+
version: 0.0.10
|
46
47
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
48
|
+
name: rom-support
|
48
49
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
50
|
requirements:
|
51
|
-
- - ~>
|
51
|
+
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
53
|
+
version: '0.1'
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.1.0
|
54
57
|
type: :runtime
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
60
|
requirements:
|
59
|
-
- - ~>
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0.1'
|
64
|
+
- - ">="
|
60
65
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.0
|
66
|
+
version: 0.1.0
|
62
67
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
68
|
+
name: rake
|
64
69
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
70
|
requirements:
|
67
|
-
- - ~>
|
71
|
+
- - "~>"
|
68
72
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
70
|
-
type: :
|
73
|
+
version: '10.3'
|
74
|
+
type: :development
|
71
75
|
prerelease: false
|
72
76
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
77
|
requirements:
|
75
|
-
- - ~>
|
78
|
+
- - "~>"
|
76
79
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
80
|
+
version: '10.3'
|
78
81
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
82
|
+
name: rspec
|
80
83
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
84
|
requirements:
|
83
|
-
- - ~>
|
85
|
+
- - "~>"
|
84
86
|
- !ruby/object:Gem::Version
|
85
|
-
version: '
|
86
|
-
type: :
|
87
|
+
version: '3.3'
|
88
|
+
type: :development
|
87
89
|
prerelease: false
|
88
90
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
91
|
requirements:
|
91
|
-
- - ~>
|
92
|
+
- - "~>"
|
92
93
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
94
|
-
description:
|
94
|
+
version: '3.3'
|
95
|
+
description: ROM mapper component
|
95
96
|
email: piotr.solnica@gmail.com
|
96
97
|
executables: []
|
97
98
|
extensions: []
|
98
99
|
extra_rdoc_files: []
|
99
100
|
files:
|
100
|
-
- .gitignore
|
101
|
-
- .rspec
|
102
|
-
- .ruby-gemset
|
103
|
-
- .
|
104
|
-
- .
|
105
|
-
- Changelog.md
|
101
|
+
- ".gitignore"
|
102
|
+
- ".rspec"
|
103
|
+
- ".ruby-gemset"
|
104
|
+
- ".travis.yml"
|
105
|
+
- CHANGELOG.md
|
106
106
|
- Gemfile
|
107
|
-
- Gemfile.devtools
|
108
107
|
- Guardfile
|
109
108
|
- LICENSE
|
110
109
|
- README.md
|
111
110
|
- Rakefile
|
112
|
-
- config/devtools.yml
|
113
|
-
- config/flay.yml
|
114
|
-
- config/flog.yml
|
115
|
-
- config/mutant.yml
|
116
|
-
- config/reek.yml
|
117
|
-
- config/rubocop.yml
|
118
111
|
- lib/rom-mapper.rb
|
112
|
+
- lib/rom/header.rb
|
113
|
+
- lib/rom/header/attribute.rb
|
119
114
|
- lib/rom/mapper.rb
|
120
|
-
- lib/rom/mapper/
|
121
|
-
- lib/rom/mapper/
|
115
|
+
- lib/rom/mapper/attribute_dsl.rb
|
116
|
+
- lib/rom/mapper/dsl.rb
|
122
117
|
- lib/rom/mapper/header.rb
|
123
|
-
- lib/rom/mapper/
|
124
|
-
- lib/rom/mapper/loader/allocator.rb
|
125
|
-
- lib/rom/mapper/loader/attribute_writer.rb
|
126
|
-
- lib/rom/mapper/loader/object_builder.rb
|
118
|
+
- lib/rom/mapper/model_dsl.rb
|
127
119
|
- lib/rom/mapper/version.rb
|
120
|
+
- lib/rom/model_builder.rb
|
121
|
+
- lib/rom/processor.rb
|
122
|
+
- lib/rom/processor/transproc.rb
|
123
|
+
- rakelib/benchmark.rake
|
124
|
+
- rakelib/mutant.rake
|
125
|
+
- rakelib/rubocop.rake
|
128
126
|
- rom-mapper.gemspec
|
129
|
-
- spec/shared/unit/loader_call.rb
|
130
|
-
- spec/shared/unit/loader_identity.rb
|
131
|
-
- spec/shared/unit/mapper_context.rb
|
132
127
|
- spec/spec_helper.rb
|
133
|
-
- spec/
|
134
|
-
- spec/
|
135
|
-
- spec/unit/rom/mapper/
|
136
|
-
- spec/unit/rom/
|
137
|
-
- spec/unit/rom/
|
138
|
-
- spec/unit/rom/mapper/header/each_spec.rb
|
139
|
-
- spec/unit/rom/mapper/header/element_reader_spec.rb
|
140
|
-
- spec/unit/rom/mapper/header/keys_spec.rb
|
141
|
-
- spec/unit/rom/mapper/identity_from_tuple_spec.rb
|
142
|
-
- spec/unit/rom/mapper/identity_spec.rb
|
143
|
-
- spec/unit/rom/mapper/load_spec.rb
|
144
|
-
- spec/unit/rom/mapper/loader/allocator/call_spec.rb
|
145
|
-
- spec/unit/rom/mapper/loader/allocator/identity_spec.rb
|
146
|
-
- spec/unit/rom/mapper/loader/attribute_writer/call_spec.rb
|
147
|
-
- spec/unit/rom/mapper/loader/attribute_writer/identity_spec.rb
|
148
|
-
- spec/unit/rom/mapper/loader/object_builder/call_spec.rb
|
149
|
-
- spec/unit/rom/mapper/loader/object_builder/identity_spec.rb
|
150
|
-
- spec/unit/rom/mapper/model_spec.rb
|
151
|
-
- spec/unit/rom/mapper/new_object_spec.rb
|
128
|
+
- spec/support/constant_leak_finder.rb
|
129
|
+
- spec/support/mutant.rb
|
130
|
+
- spec/unit/rom/mapper/dsl_spec.rb
|
131
|
+
- spec/unit/rom/mapper_spec.rb
|
132
|
+
- spec/unit/rom/processor/transproc_spec.rb
|
152
133
|
homepage: http://rom-rb.org
|
153
134
|
licenses:
|
154
135
|
- MIT
|
136
|
+
metadata: {}
|
155
137
|
post_install_message:
|
156
138
|
rdoc_options: []
|
157
139
|
require_paths:
|
158
140
|
- lib
|
159
141
|
required_ruby_version: !ruby/object:Gem::Requirement
|
160
|
-
none: false
|
161
142
|
requirements:
|
162
|
-
- -
|
143
|
+
- - ">="
|
163
144
|
- !ruby/object:Gem::Version
|
164
145
|
version: '0'
|
165
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
147
|
requirements:
|
168
|
-
- -
|
148
|
+
- - ">="
|
169
149
|
- !ruby/object:Gem::Version
|
170
150
|
version: '0'
|
171
151
|
requirements: []
|
172
152
|
rubyforge_project:
|
173
|
-
rubygems_version:
|
153
|
+
rubygems_version: 2.4.5
|
174
154
|
signing_key:
|
175
|
-
specification_version:
|
176
|
-
summary:
|
155
|
+
specification_version: 4
|
156
|
+
summary: ROM mapper component
|
177
157
|
test_files: []
|
178
|
-
has_rdoc:
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1.9.3
|
data/Gemfile.devtools
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
group :development do
|
4
|
-
gem 'rake', '~> 10.1.0'
|
5
|
-
gem 'rspec', '~> 2.14.1'
|
6
|
-
gem 'yard', '~> 0.8.7'
|
7
|
-
end
|
8
|
-
|
9
|
-
group :yard do
|
10
|
-
gem 'kramdown', '~> 1.1.0'
|
11
|
-
end
|
12
|
-
|
13
|
-
group :guard do
|
14
|
-
gem 'guard', '~> 1.8.1'
|
15
|
-
gem 'guard-bundler', '~> 1.0.0'
|
16
|
-
gem 'guard-rspec', '~> 3.0.2'
|
17
|
-
gem 'guard-rubocop', '~> 0.2.0'
|
18
|
-
gem 'guard-mutant', '~> 0.0.1'
|
19
|
-
|
20
|
-
# file system change event handling
|
21
|
-
gem 'listen', '~> 1.2.2'
|
22
|
-
gem 'rb-fchange', '~> 0.0.6', require: false
|
23
|
-
gem 'rb-fsevent', '~> 0.9.3', require: false
|
24
|
-
gem 'rb-inotify', '~> 0.9.0', require: false
|
25
|
-
|
26
|
-
# notification handling
|
27
|
-
gem 'libnotify', '~> 0.8.0', require: false
|
28
|
-
gem 'rb-notifu', '~> 0.0.4', require: false
|
29
|
-
gem 'terminal-notifier-guard', '~> 1.5.3', require: false
|
30
|
-
end
|
31
|
-
|
32
|
-
group :metrics do
|
33
|
-
gem 'coveralls', '~> 0.6.7'
|
34
|
-
gem 'flay', '~> 2.4.0'
|
35
|
-
gem 'flog', '~> 4.1.1'
|
36
|
-
gem 'reek', '~> 1.3.2'
|
37
|
-
gem 'rubocop', '~> 0.11.0'
|
38
|
-
gem 'simplecov', '~> 0.7.1'
|
39
|
-
gem 'yardstick', '~> 0.9.7', git: 'https://github.com/dkubb/yardstick.git'
|
40
|
-
|
41
|
-
platforms :ruby_19, :ruby_20 do
|
42
|
-
gem 'mutant', git: 'https://github.com/mbj/mutant.git'
|
43
|
-
gem 'yard-spellcheck', '~> 0.1.5'
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
group :benchmarks do
|
48
|
-
gem 'rbench', '~> 0.2.3'
|
49
|
-
end
|
50
|
-
|
51
|
-
platform :jruby do
|
52
|
-
group :jruby do
|
53
|
-
gem 'jruby-openssl', '~> 0.8.5'
|
54
|
-
end
|
55
|
-
end
|
data/config/devtools.yml
DELETED
data/config/flay.yml
DELETED
data/config/flog.yml
DELETED
data/config/mutant.yml
DELETED
data/config/reek.yml
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
---
|
2
|
-
Attribute:
|
3
|
-
enabled: true
|
4
|
-
exclude: []
|
5
|
-
BooleanParameter:
|
6
|
-
enabled: true
|
7
|
-
exclude: []
|
8
|
-
ClassVariable:
|
9
|
-
enabled: true
|
10
|
-
exclude: []
|
11
|
-
ControlParameter:
|
12
|
-
enabled: true
|
13
|
-
exclude: []
|
14
|
-
DataClump:
|
15
|
-
enabled: true
|
16
|
-
exclude: []
|
17
|
-
max_copies: 2
|
18
|
-
min_clump_size: 2
|
19
|
-
DuplicateMethodCall:
|
20
|
-
enabled: false
|
21
|
-
FeatureEnvy:
|
22
|
-
enabled: true
|
23
|
-
exclude:
|
24
|
-
- ROM::Mapper::Loader::Allocator#call
|
25
|
-
- ROM::Mapper::Loader::AttributeWriter#call
|
26
|
-
IrresponsibleModule:
|
27
|
-
enabled: true
|
28
|
-
exclude: []
|
29
|
-
LongParameterList:
|
30
|
-
enabled: true
|
31
|
-
exclude:
|
32
|
-
- ROM::Mapper#self.build
|
33
|
-
max_params: 2
|
34
|
-
LongYieldList:
|
35
|
-
enabled: true
|
36
|
-
exclude: []
|
37
|
-
max_params: 2
|
38
|
-
NestedIterators:
|
39
|
-
enabled: true
|
40
|
-
max_allowed_nesting: 1
|
41
|
-
ignore_iterators: []
|
42
|
-
exclude:
|
43
|
-
- ROM::Mapper::Header#keys
|
44
|
-
NilCheck:
|
45
|
-
enabled: true
|
46
|
-
exclude: []
|
47
|
-
RepeatedConditional:
|
48
|
-
enabled: true
|
49
|
-
exclude: []
|
50
|
-
max_ifs: 1
|
51
|
-
TooManyInstanceVariables:
|
52
|
-
enabled: true
|
53
|
-
exclude: []
|
54
|
-
max_instance_variables: 3
|
55
|
-
TooManyMethods:
|
56
|
-
enabled: true
|
57
|
-
exclude: []
|
58
|
-
max_methods: 10
|
59
|
-
TooManyStatements:
|
60
|
-
enabled: true
|
61
|
-
exclude:
|
62
|
-
- each
|
63
|
-
- ROM::Mapper#self.build
|
64
|
-
- ROM::Mapper::Header#self.build
|
65
|
-
max_statements: 4
|
66
|
-
UncommunicativeMethodName:
|
67
|
-
enabled: true
|
68
|
-
exclude: []
|
69
|
-
reject:
|
70
|
-
- !ruby/regexp /^[a-z]$/
|
71
|
-
- !ruby/regexp /[0-9]$/
|
72
|
-
- !ruby/regexp /[A-Z]/
|
73
|
-
accept: []
|
74
|
-
UncommunicativeModuleName:
|
75
|
-
enabled: true
|
76
|
-
exclude: []
|
77
|
-
reject:
|
78
|
-
- !ruby/regexp /^.$/
|
79
|
-
- !ruby/regexp /[0-9]$/
|
80
|
-
accept: []
|
81
|
-
UncommunicativeParameterName:
|
82
|
-
enabled: true
|
83
|
-
exclude: []
|
84
|
-
reject:
|
85
|
-
- !ruby/regexp /^.$/
|
86
|
-
- !ruby/regexp /[0-9]$/
|
87
|
-
- !ruby/regexp /[A-Z]/
|
88
|
-
accept: []
|
89
|
-
UncommunicativeVariableName:
|
90
|
-
enabled: true
|
91
|
-
exclude: []
|
92
|
-
reject:
|
93
|
-
- !ruby/regexp /^.$/
|
94
|
-
- !ruby/regexp /[0-9]$/
|
95
|
-
- !ruby/regexp /[A-Z]/
|
96
|
-
accept: []
|
97
|
-
UnusedParameters:
|
98
|
-
enabled: true
|
99
|
-
exclude: []
|
100
|
-
UtilityFunction:
|
101
|
-
enabled: true
|
102
|
-
exclude: []
|
103
|
-
max_helper_calls: 0
|
data/config/rubocop.yml
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
Includes:
|
3
|
-
- '**/*.rake'
|
4
|
-
- 'Gemfile'
|
5
|
-
- 'Gemfile.devtools'
|
6
|
-
Excludes:
|
7
|
-
- '**/vendor/**'
|
8
|
-
|
9
|
-
# Avoid parameter lists longer than five parameters.
|
10
|
-
ParameterLists:
|
11
|
-
Max: 3
|
12
|
-
CountKeywordArgs: true
|
13
|
-
|
14
|
-
# Avoid more than `Max` levels of nesting.
|
15
|
-
BlockNesting:
|
16
|
-
Max: 3
|
17
|
-
|
18
|
-
# Align with the style guide.
|
19
|
-
CollectionMethods:
|
20
|
-
PreferredMethods:
|
21
|
-
collect: 'map'
|
22
|
-
inject: 'reduce'
|
23
|
-
find: 'detect'
|
24
|
-
find_all: 'select'
|
25
|
-
|
26
|
-
# Do not force public/protected/private keyword to be indented at the same
|
27
|
-
# level as the def keyword. My personal preference is to outdent these keywords
|
28
|
-
# because I think when scanning code it makes it easier to identify the
|
29
|
-
# sections of code and visually separate them. When the keyword is at the same
|
30
|
-
# level I think it sort of blends in with the def keywords and makes it harder
|
31
|
-
# to scan the code and see where the sections are.
|
32
|
-
AccessControl:
|
33
|
-
Enabled: false
|
34
|
-
|
35
|
-
LineLength:
|
36
|
-
Max: 108
|
37
|
-
|
38
|
-
Blocks:
|
39
|
-
Enabled: false
|
40
|
-
|
41
|
-
Documentation:
|
42
|
-
Enabled: false
|
43
|
-
|
44
|
-
EmptyLineBetweenDefs:
|
45
|
-
Enabled: false # TODO: re-enable once SpecHelper.mock_model case is properly handled
|