watir_model 0.2.2 → 0.2.3

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 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: