watir_model 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 230ae59631b244a4ef743398ed5c3ee9df0a0c01
4
- data.tar.gz: d639af104eae45b59bdbc304d4f5b84df9e1949c
3
+ metadata.gz: ab1689db304049abb351bde85194b3f340a50f8f
4
+ data.tar.gz: d47df53a7990ecb91e7dff1fdb141dc20d5503a3
5
5
  SHA512:
6
- metadata.gz: 863596478876d2223aaf1047c070796e1d9e6905a6791fc4b7654d9e087b7794d1ca7f7ae35263a66fb736170e3d0aca274998583ec718da9d6aa6940a398ce7
7
- data.tar.gz: aad2ad24e7c41e0cc5845180cc3dbde46c532f0b1242fb724ed78de52b4e143c78246eb3cabe6bc690930cfbde5e1ba3439d398538dd0e491f291f07cac788df
6
+ metadata.gz: dde4a20f417a3d605b284936f557a96174333982ed1254da68833a6963d17fd9a611011644ffbafaf6c3e6b597d67f324e34033f0e2779e6d537e7244f4fc2ef
7
+ data.tar.gz: e03628d2206d9e55a41a6bc0bb9e4c1e77ce2655d01700cc721db4aabed8b54f3da1dcab9e671fddf3127178ff2b75e8ceeb2fc85f9b19873b5bfbd9824a4626
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /.idea/
data/lib/watir_model.rb CHANGED
@@ -91,4 +91,25 @@ class WatirModel
91
91
  end
92
92
  alias_method :==, :eql?
93
93
 
94
+ def to_hash(opt = nil)
95
+ opt ||= keys
96
+ opt.each_with_object({}) do |key, hash|
97
+ value = send(key)
98
+ hash[key] = process_value(value)
99
+ end
100
+ end
101
+
102
+ def process_value(value)
103
+ case value
104
+ when WatirModel
105
+ value.to_hash
106
+ when Hash
107
+ value.map { |k,v| [k, process_value(v)] }.to_h
108
+ when Array
109
+ value.map { |v| process_value(v) }
110
+ else
111
+ value
112
+ end
113
+ end
114
+
94
115
  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.2.2"
5
+ spec.version = "0.2.3"
6
6
  spec.authors = ["Titus Fortner"]
7
7
  spec.email = ["titusfortner@gmail.com"]
8
8
 
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.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Titus Fortner
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-15 00:00:00.000000000 Z
11
+ date: 2016-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -102,9 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  requirements: []
104
104
  rubyforge_project:
105
- rubygems_version: 2.4.5.1
105
+ rubygems_version: 2.6.8
106
106
  signing_key:
107
107
  specification_version: 4
108
108
  summary: This is a simple class for modelling test data.
109
109
  test_files: []
110
- has_rdoc: