field_mapper 0.2.4 → 0.2.5

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: 100e5da0cf981570ea7897589e43795fb6e5612e
4
- data.tar.gz: 8d3aa80d9a2ba033c1fae673f833e92c81fb16c9
3
+ metadata.gz: 43226c49e641e6c7534c9aa0656857af80d4e8e0
4
+ data.tar.gz: 9169cce64f196bbd5a8ecad35ef5c9fdf57bb34c
5
5
  SHA512:
6
- metadata.gz: bb58a45ce818e2e077977e4d378d9d21b0ca6a9b6e5a873e2b7f0060b2ca59679e79027e667bf326a045b6762b7d9e3bc82d91b4a321392d43b60f7e84413088
7
- data.tar.gz: ec9b6803100b484d82d40386716392af06587d29fbc992d83722e2c92a397580e497acd7925d152abc3bef1fff095edeb3fe47835865ca07c963de3be99bacf7
6
+ metadata.gz: b2b5fb6da267576062469504cdf7c93fc07d07a1d26912f5431f89648a16106328a89958d8d43b75fa316152848d74c190576a921bd72fd6a8c5b04ab478cc64
7
+ data.tar.gz: 0e78802579e987fafab953d42b31e114b9372f446c97413d08189916b85c7392a6abd229e5d14bb0799e8c3a6bae6968c6404c228c1baf2e6dad9787f67eae82
@@ -23,13 +23,14 @@ module FieldMapper
23
23
  type: nil,
24
24
  desc: nil,
25
25
  default: nil,
26
+ placeholder: nil,
26
27
  standard_field: nil,
27
28
  custom_to_standard: DefaultFlipper,
28
29
  standard_to_custom: DefaultFlipper,
29
30
  &block
30
31
  )
31
32
  type ||= standard_field.type unless standard_field.nil?
32
- super name, type: type, desc: desc, default: default
33
+ super name, type: type, desc: desc, default: default, placeholder: placeholder
33
34
 
34
35
  @standard_field = standard_field
35
36
  @custom_to_standard = custom_to_standard
@@ -42,6 +43,12 @@ module FieldMapper
42
43
  end
43
44
  end
44
45
 
46
+ attr_writer :placeholder
47
+
48
+ def placeholder
49
+ @placeholder || standard_field.placeholder
50
+ end
51
+
45
52
  def value(value, standard: nil, priority: nil)
46
53
  @values ||= []
47
54
  @values << FieldMapper::Custom::Value.new(
@@ -19,6 +19,7 @@ module FieldMapper
19
19
  type: nil,
20
20
  desc: nil,
21
21
  default: nil,
22
+ placeholder: nil,
22
23
  standard: nil,
23
24
  custom_to_standard: FieldMapper::Custom::Field::DefaultFlipper,
24
25
  standard_to_custom: FieldMapper::Custom::Field::DefaultFlipper,
@@ -31,6 +32,7 @@ module FieldMapper
31
32
  type: type,
32
33
  desc: desc,
33
34
  default: default,
35
+ placeholder: placeholder,
34
36
  standard_field: standard_plat.fields[standard],
35
37
  custom_to_standard: custom_to_standard,
36
38
  standard_to_custom: standard_to_custom
@@ -12,20 +12,24 @@ module FieldMapper
12
12
  :type,
13
13
  :desc,
14
14
  :default,
15
- :values
15
+ :values,
16
16
  )
17
17
 
18
+ attr_accessor :placeholder
19
+
18
20
  def initialize(
19
21
  name,
20
22
  type: nil,
21
23
  desc: nil,
22
- default: nil
24
+ default: nil,
25
+ placeholder: nil
23
26
  )
24
27
  raise TypeNotSpecified.new("type not specified for: #{name}") if type.nil?
25
28
  @name = name.to_sym
26
29
  @type = type
27
30
  @desc= desc
28
31
  @default = default
32
+ @placeholder = placeholder
29
33
  end
30
34
 
31
35
  def list?
@@ -26,6 +26,7 @@ module FieldMapper
26
26
  type: nil,
27
27
  desc: nil,
28
28
  default: nil,
29
+ placeholder: nil,
29
30
  &block
30
31
  )
31
32
  field_names[attr_name(name)] = name
@@ -34,7 +35,8 @@ module FieldMapper
34
35
  name,
35
36
  type: type,
36
37
  desc: desc,
37
- default: default
38
+ default: default,
39
+ placeholder: placeholder
38
40
  )
39
41
 
40
42
  field.instance_exec(&block) if block_given?
@@ -1,3 +1,3 @@
1
1
  module FieldMapper
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -119,5 +119,9 @@ module Custom
119
119
  assert standard.letters = ["a", "c"]
120
120
  end
121
121
 
122
+ test "converted_to different datatype mapped to standard" do
123
+
124
+ end
125
+
122
126
  end
123
127
  end
@@ -54,5 +54,10 @@ module Custom
54
54
  field :parent_plat, type: FieldMapper::Types::Plat[Custom::PlatExample], standard: :parent
55
55
  field :child_plats, type: FieldMapper::Types::List[Custom::PlatExample], standard: :children, default: []
56
56
 
57
+ field :time, standard: :timestamp, type: String,
58
+ standard_to_custom: -> (value, standard_instance: nil) {
59
+ value.strftime("%Y-%m-%m") unless value.nil?
60
+ }
61
+
57
62
  end
58
63
  end
@@ -61,6 +61,7 @@ module Custom
61
61
  "color" => nil,
62
62
  "painter" => nil,
63
63
  "characters" => nil,
64
+ "time" => nil,
64
65
  "parent_plat" => {
65
66
  "_node_id" => @instance.parent_plat.object_id,
66
67
  "_flat" => false,
@@ -70,6 +71,7 @@ module Custom
70
71
  "color" => nil,
71
72
  "painter" => nil,
72
73
  "characters" => nil,
74
+ "time" => nil,
73
75
  "parent_plat" => nil,
74
76
  "child_plats" => []
75
77
  },
@@ -98,5 +100,9 @@ module Custom
98
100
  }
99
101
  end
100
102
 
103
+ test "placeholder" do
104
+ assert @instance.class.fields[:name].placeholder == "TYPE YOUR NAME"
105
+ end
106
+
101
107
  end
102
108
  end
@@ -84,5 +84,15 @@ module Standard
84
84
  assert custom.parent_plat.to_hash.merge(_node_id: nil) == custom_parent.to_hash.merge(_node_id: nil)
85
85
  end
86
86
 
87
+ test "convert_to (different datatype)" do
88
+ @standard.timestamp = Time.now
89
+ custom = @converter.convert_to(Custom::PlatExample)
90
+ assert custom.time == @standard.timestamp.strftime("%Y-%m-%m")
91
+ end
92
+
93
+ test "placeholder" do
94
+ assert @standard.class.fields[:name].placeholder == "TYPE YOUR NAME"
95
+ end
96
+
87
97
  end
88
98
  end
@@ -3,7 +3,7 @@ require_relative "../test_helper"
3
3
  module Standard
4
4
  class PlatExample < FieldMapper::Standard::Plat
5
5
 
6
- field :name, type: String
6
+ field :name, type: String, placeholder: "TYPE YOUR NAME"
7
7
  field :desc, type: String
8
8
 
9
9
  field :score, default: 2, type: Integer do
@@ -44,5 +44,7 @@ module Standard
44
44
  field :parent, type: FieldMapper::Types::Plat[Standard::PlatExample]
45
45
  field :children, type: FieldMapper::Types::List[Standard::PlatExample], default: []
46
46
 
47
+ field :timestamp, type: Time
48
+
47
49
  end
48
50
  end
@@ -108,6 +108,7 @@ module Standard
108
108
  "artist" => nil,
109
109
  "day" => nil,
110
110
  "letters" => ["a", "b"],
111
+ "timestamp" => nil,
111
112
  "parent"=>{
112
113
  "_node_id" => parent.object_id,
113
114
  "_flat" => false,
@@ -120,6 +121,7 @@ module Standard
120
121
  "artist" => nil,
121
122
  "day" => nil,
122
123
  "letters" => ["a", "b"],
124
+ "timestamp" => nil,
123
125
  "parent" => nil,
124
126
  "children" => [@instance.object_id]
125
127
  },
@@ -136,6 +138,7 @@ module Standard
136
138
  "artist" => nil,
137
139
  "day" => nil,
138
140
  "letters" => ["a", "b"],
141
+ "timestamp" => nil,
139
142
  "parent" => @instance.object_id,
140
143
  "children" => []
141
144
  },
@@ -151,6 +154,7 @@ module Standard
151
154
  "artist" => nil,
152
155
  "day" => nil,
153
156
  "letters" => ["a", "b"],
157
+ "timestamp" => nil,
154
158
  "parent" => @instance.object_id,
155
159
  "children" => []
156
160
  }
@@ -183,8 +187,9 @@ module Standard
183
187
  "artist" => nil,
184
188
  "day" => nil,
185
189
  "letters" => "[\"a\",\"b\"]",
186
- "parent" => "{\"_node_id\":#{parent.object_id},\"_flat\":true,\"name\":null,\"desc\":null,\"score\":2,\"color\":null,\"camelCase\":null,\"PascalCase\":null,\"artist\":null,\"day\":null,\"letters\":\"[\\\"a\\\",\\\"b\\\"]\",\"parent\":null,\"children\":\"[#{@instance.object_id}]\"}",
187
- "children" => "[{\"_node_id\":#{child1.object_id},\"_flat\":true,\"name\":null,\"desc\":null,\"score\":2,\"color\":null,\"camelCase\":null,\"PascalCase\":null,\"artist\":null,\"day\":null,\"letters\":\"[\\\"a\\\",\\\"b\\\"]\",\"parent\":#{@instance.object_id},\"children\":[]},{\"_node_id\":#{child2.object_id},\"_flat\":true,\"name\":null,\"desc\":null,\"score\":2,\"color\":null,\"camelCase\":null,\"PascalCase\":null,\"artist\":null,\"day\":null,\"letters\":\"[\\\"a\\\",\\\"b\\\"]\",\"parent\":#{@instance.object_id},\"children\":[]}]"
190
+ "timestamp" => nil,
191
+ "parent" => "{\"_node_id\":#{parent.object_id},\"_flat\":true,\"name\":null,\"desc\":null,\"score\":2,\"color\":null,\"camelCase\":null,\"PascalCase\":null,\"artist\":null,\"day\":null,\"letters\":\"[\\\"a\\\",\\\"b\\\"]\",\"parent\":null,\"children\":\"[#{@instance.object_id}]\",\"timestamp\":null}",
192
+ "children" => "[{\"_node_id\":#{child1.object_id},\"_flat\":true,\"name\":null,\"desc\":null,\"score\":2,\"color\":null,\"camelCase\":null,\"PascalCase\":null,\"artist\":null,\"day\":null,\"letters\":\"[\\\"a\\\",\\\"b\\\"]\",\"parent\":#{@instance.object_id},\"children\":[],\"timestamp\":null},{\"_node_id\":#{child2.object_id},\"_flat\":true,\"name\":null,\"desc\":null,\"score\":2,\"color\":null,\"camelCase\":null,\"PascalCase\":null,\"artist\":null,\"day\":null,\"letters\":\"[\\\"a\\\",\\\"b\\\"]\",\"parent\":#{@instance.object_id},\"children\":[],\"timestamp\":null}]"
188
193
  }
189
194
 
190
195
  actual = @instance.to_hash(flatten: true)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: field_mapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Hopkins