watir_model 0.5.0 → 0.5.1
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/CHANGES.md +5 -0
- data/lib/watir_model.rb +14 -22
- data/watir_model.gemspec +2 -2
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2e75024846f7980a3bcefaefbcc5f9f1a4661e9
|
4
|
+
data.tar.gz: 385e78e0816e7f276622c8cd2377f804e7bfef12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fafe4c3d76271bf146a7a3826f4d8059a87e2032b2d1bd9e416e1d3f3c66c8c3620e0b2185eabb50eaf6742160ceb186b95658d27a3ece01d763df3dcd0202d3
|
7
|
+
data.tar.gz: ad4cf6a0161fd9c0a8b81fe01ef1ac4a434ba50ccd76804c54db769641a7c347266b5be8901a359a4f8811443d1772e476ef990f26384fb78afae0e5c30a7e0a
|
data/CHANGES.md
CHANGED
data/lib/watir_model.rb
CHANGED
@@ -2,22 +2,19 @@ require 'active_support/hash_with_indifferent_access'
|
|
2
2
|
require 'json'
|
3
3
|
require 'date'
|
4
4
|
require 'time'
|
5
|
+
require 'faker'
|
5
6
|
require 'yml_reader'
|
6
7
|
|
7
8
|
class WatirModel
|
8
9
|
class << self
|
9
10
|
include YmlReader
|
10
11
|
|
11
|
-
attr_writer :keys, :
|
12
|
+
attr_writer :keys, :data_types, :defaults, :apis
|
12
13
|
|
13
14
|
def keys
|
14
15
|
@keys ||= []
|
15
16
|
end
|
16
17
|
|
17
|
-
def aliases
|
18
|
-
@aliases ||= {}
|
19
|
-
end
|
20
|
-
|
21
18
|
def data_types
|
22
19
|
@data_types ||= {}
|
23
20
|
end
|
@@ -31,20 +28,18 @@ class WatirModel
|
|
31
28
|
end
|
32
29
|
|
33
30
|
def valid_keys
|
34
|
-
keys +
|
31
|
+
keys + apis.keys
|
35
32
|
end
|
36
33
|
|
37
34
|
def inherited(subclass)
|
38
35
|
subclass.keys = keys.dup
|
39
|
-
subclass.aliases = aliases.dup
|
40
36
|
subclass.apis = apis.dup
|
41
37
|
subclass.defaults = defaults.dup
|
42
38
|
subclass.data_types = data_types.dup
|
43
39
|
end
|
44
40
|
|
45
|
-
def key(symbol, data_type: nil,
|
41
|
+
def key(symbol, data_type: nil, api: nil, &block)
|
46
42
|
keys << symbol unless @keys.include? symbol
|
47
|
-
aliases.each { |alias_key| self.aliases[alias_key] = symbol }
|
48
43
|
attr_accessor symbol
|
49
44
|
apis[api] = symbol if api
|
50
45
|
data_types[symbol] = data_type if data_type
|
@@ -105,7 +100,7 @@ class WatirModel
|
|
105
100
|
|
106
101
|
def default_value_keys(hash)
|
107
102
|
hash.keys.map do |key|
|
108
|
-
keys.include?(key) ? key :
|
103
|
+
keys.include?(key) ? key : apis[key]
|
109
104
|
end
|
110
105
|
end
|
111
106
|
|
@@ -142,10 +137,6 @@ class WatirModel
|
|
142
137
|
def update(hash)
|
143
138
|
hash ||= {}
|
144
139
|
|
145
|
-
(hash.keys & aliases.keys).each do |alias_key|
|
146
|
-
hash[aliases[alias_key]] = hash.delete(alias_key)
|
147
|
-
end
|
148
|
-
|
149
140
|
(hash.keys & apis.keys).each do |api_key|
|
150
141
|
hash[apis[api_key]] = hash.delete(api_key)
|
151
142
|
end
|
@@ -163,16 +154,12 @@ class WatirModel
|
|
163
154
|
self.class.keys
|
164
155
|
end
|
165
156
|
|
166
|
-
def aliases
|
167
|
-
self.class.aliases
|
168
|
-
end
|
169
|
-
|
170
157
|
def apis
|
171
158
|
self.class.apis
|
172
159
|
end
|
173
160
|
|
174
161
|
def valid_keys
|
175
|
-
self.class.
|
162
|
+
self.class.valid_keys
|
176
163
|
end
|
177
164
|
|
178
165
|
def [] key
|
@@ -185,21 +172,26 @@ class WatirModel
|
|
185
172
|
alias_method :==, :eql?
|
186
173
|
|
187
174
|
def to_hash(opt = nil)
|
175
|
+
warn "#to_hash is deprecated, use #to_h instead"
|
176
|
+
to_h opt
|
177
|
+
end
|
178
|
+
|
179
|
+
def to_h(opt = nil)
|
188
180
|
opt ||= keys
|
189
181
|
opt.each_with_object({}) do |key, hash|
|
190
182
|
value = send(key)
|
191
183
|
next if value.nil?
|
192
|
-
value = value.
|
184
|
+
value = value.to_h if value.is_a? WatirModel
|
193
185
|
hash[key] = value
|
194
186
|
end
|
195
187
|
end
|
196
188
|
|
197
189
|
def to_json(*)
|
198
|
-
|
190
|
+
to_h.to_json
|
199
191
|
end
|
200
192
|
|
201
193
|
def to_api
|
202
|
-
hash =
|
194
|
+
hash = to_h
|
203
195
|
apis.each do |key, value|
|
204
196
|
hash[key] = hash.delete(value)
|
205
197
|
end
|
data/watir_model.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "watir_model"
|
5
|
-
spec.version = "0.5.
|
5
|
+
spec.version = "0.5.1"
|
6
6
|
spec.authors = ["Titus Fortner"]
|
7
7
|
spec.email = ["titusfortner@gmail.com"]
|
8
8
|
|
@@ -25,10 +25,10 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.require_paths = ["lib"]
|
26
26
|
|
27
27
|
spec.add_runtime_dependency 'activesupport'
|
28
|
+
spec.add_runtime_dependency 'faker', "~> 1.5"
|
28
29
|
spec.add_runtime_dependency 'yml_reader', '>= 0.6'
|
29
30
|
|
30
31
|
spec.add_development_dependency "bundler", "~> 1.9"
|
31
32
|
spec.add_development_dependency "rake", "~> 10.0"
|
32
33
|
spec.add_development_dependency "rspec", "~> 3.3"
|
33
|
-
spec.add_development_dependency "faker", "~> 1.5"
|
34
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Titus Fortner
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faker
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.5'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.5'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: yml_reader
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,20 +94,6 @@ dependencies:
|
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '3.3'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: faker
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.5'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '1.5'
|
97
97
|
description: This is a simple class for modelling test data. It is based on our experience
|
98
98
|
with Watirmark::Model::Factory.
|
99
99
|
email:
|