goaltender 0.0.2 → 0.0.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: 4e1eff5e3ea39c173d9f15e5e76c95355f285c53
4
- data.tar.gz: 7ca8cad891725bc7efe5ee48b49c82f06abe8462
3
+ metadata.gz: 04e9a394f95b65ed94175af20c9d06f09c12e65b
4
+ data.tar.gz: 6f71d0fe681e1451c7c91eefc253cfb4d7de83c4
5
5
  SHA512:
6
- metadata.gz: e3c5d2e7ae36f8fdc07df3b55753954d23609ca02a5aeee9f4eef322fed93a8db69780b66474d59c47db0ae8a171779e2fca6eed140586099393c0cd9348a288
7
- data.tar.gz: d9fbcfd7f6ef65ebc6db611af5b1c8536a56d8394214f8aaffaa4ad01508ca95db25eac4cad1faf3d41f20af94ac6110161d92a3ad8f6b6fb2d3697d6b90d8a3
6
+ metadata.gz: 64815ae11f3e5757035297c2b612056afdf54b17a4c70cb895f2f68ab62b25d3229b0bd8e0188e32055f6939b383b0d1404ed79af558bc146479bfd8e23e6b43
7
+ data.tar.gz: e7bf2d1441bf6df976ed0172c1b7f6aced4fb31f5b4e98decd704bbc3d5c5a711300fb49915b79d4ec0c3900bff141e43186e4b52ddfb605c7ef6453a7af1ec5
Binary file
@@ -1,95 +1,93 @@
1
- module Goaltender
2
- class Base
1
+ class Goaltender::Base
3
2
 
4
- include ActiveModel::Model
5
- include Goaltender
3
+ include ActiveModel::Model
4
+ include Goaltender::BaseModule
6
5
 
7
- attr_reader :params, :inputs
8
- attr_accessor :inputs
6
+ attr_reader :params, :inputs
7
+ attr_accessor :inputs
9
8
 
10
- def initialize(args)
11
- @params = HashWithIndifferentAccess.new(args)
12
- @inputs = set_inputs
13
- after_init(@params)
14
- end
9
+ def initialize(args)
10
+ @params = HashWithIndifferentAccess.new(args)
11
+ @inputs = set_inputs
12
+ after_init(@params)
13
+ end
15
14
 
16
- def to_h
17
- hash = {}
18
- inputs.each do |input|
19
- value = instance_variable_get("@#{input.variable_name}")
20
- hash[input.variable_name] = value
21
- end
22
- hash
15
+ def to_h
16
+ hash = {}
17
+ inputs.each do |input|
18
+ value = instance_variable_get("@#{input.variable_name}")
19
+ hash[input.variable_name] = value
23
20
  end
21
+ hash
22
+ end
24
23
 
25
- def save
26
- before_save
27
- success = valid_form? ? persist! : false
28
- if success
29
- after_save
30
- true
31
- else
32
- false
33
- end
24
+ def save
25
+ before_save
26
+ success = valid_form? ? persist! : false
27
+ if success
28
+ after_save
29
+ true
30
+ else
31
+ false
34
32
  end
33
+ end
35
34
 
36
- private
37
-
38
- def set_inputs
39
- current_class_name = self.class.name
40
- relevant_classes = [current_class_name]
41
- classes = current_class_name.split("::")
42
- while classes.present?
43
- classes.pop
44
- possibility = classes.join("::")
45
- relevant_classes << possibility unless possibility.exclude?("::")
46
- current_class_name = possibility
47
- end
35
+ private
36
+
37
+ def set_inputs
38
+ current_class_name = self.class.name
39
+ relevant_classes = [current_class_name]
40
+ classes = current_class_name.split("::")
41
+ while classes.present?
42
+ classes.pop
43
+ possibility = classes.join("::")
44
+ relevant_classes << possibility unless possibility.exclude?("::")
45
+ current_class_name = possibility
46
+ end
48
47
 
49
- all_inputs = []
50
- Goaltender::Base.input_definitions.each do |class_name, form_inputs|
51
- if relevant_classes.include?(class_name)
52
- form_inputs.each do |form_input|
53
- name = form_input[0]
54
- type = form_input[1]
55
- options = form_input[2]
56
- input_value = params[name]
57
- input = Goaltender::Input.new(self, name, type, input_value, options)
58
- self.class.__send__(:attr_accessor, input.variable_name)
59
- instance_variable_set("@#{input.variable_name.to_s}", input.parsed_value)
60
- all_inputs << input
61
- end
48
+ all_inputs = []
49
+ Goaltender::Base.input_definitions.each do |class_name, form_inputs|
50
+ if relevant_classes.include?(class_name)
51
+ form_inputs.each do |form_input|
52
+ name = form_input[0]
53
+ type = form_input[1]
54
+ options = form_input[2]
55
+ input_value = params[name]
56
+ input = Goaltender::Input.new(self, name, type, input_value, options)
57
+ self.class.__send__(:attr_accessor, input.variable_name)
58
+ instance_variable_set("@#{input.variable_name.to_s}", input.parsed_value)
59
+ all_inputs << input
62
60
  end
63
61
  end
64
- all_inputs
65
62
  end
63
+ all_inputs
64
+ end
66
65
 
67
- def valid_form?
68
- valid? && object.valid?
69
- end
66
+ def valid_form?
67
+ valid? && object.valid?
68
+ end
70
69
 
71
- def persist!
72
- object.save
73
- end
70
+ def persist!
71
+ object.save
72
+ end
74
73
 
75
- # METHODS FOR CHILDREN
74
+ # METHODS FOR CHILDREN
76
75
 
77
- def after_init(args)
78
- # this method is optionally implemented by children to
79
- # override default initialization behavior
80
- end
76
+ def after_init(args)
77
+ # this method is optionally implemented by children to
78
+ # override default initialization behavior
79
+ end
81
80
 
82
- def object
83
- # optionally implemented by children
84
- end
81
+ def object
82
+ # optionally implemented by children
83
+ end
85
84
 
86
- def after_save
87
- # optionally implemented by children
88
- end
85
+ def after_save
86
+ # optionally implemented by children
87
+ end
89
88
 
90
- def before_save
91
- # optionally implemented by children
92
- end
89
+ def before_save
90
+ # optionally implemented by children
91
+ end
93
92
 
94
- end
95
93
  end
@@ -0,0 +1,23 @@
1
+ module Goaltender
2
+ module BaseModule
3
+
4
+ class << self
5
+ def included(base)
6
+ base.extend ClassMethods
7
+ end
8
+ end
9
+
10
+ module ClassMethods
11
+ def input(name, type = nil, options = {})
12
+ @@input_definitions ||= {}
13
+ array = @@input_definitions[self.name].present? ? @@input_definitions[self.name] : []
14
+ array << [name, type, options]
15
+ @@input_definitions[self.name] = array
16
+ end
17
+
18
+ def input_definitions
19
+ @@input_definitions
20
+ end
21
+ end
22
+ end
23
+ end
@@ -12,11 +12,11 @@ module Goaltender
12
12
  @parse_format = options[:parse_format]
13
13
  @form_path = options[:form_path]
14
14
  @form_class = generate_form_class
15
- @variable_name = @name
15
+ @variable_name = options[:variable_name] || @name
16
16
  end
17
17
 
18
18
  def value_parser
19
- @value_parser ||= "Goaltender::ValueParser::#{type.to_s.classify}".constantize.new({
19
+ @value_parser ||= "FormParse::ValueParser::#{type.to_s.classify}".constantize.new({
20
20
  input_value: input_value,
21
21
  parse_format: parse_format,
22
22
  form_class: form_class,
@@ -1,6 +1,6 @@
1
1
  module Goaltender
2
2
  class ValueParser
3
- class Date < ValueParser
3
+ class Datetime < ValueParser
4
4
 
5
5
  attr_reader :input_format
6
6
 
@@ -1,3 +1,12 @@
1
+ require 'goaltender/value_parser/belongs_to'
2
+ require 'goaltender/value_parser/boolean'
3
+ require 'goaltender/value_parser/date'
4
+ require 'goaltender/value_parser/datetime'
5
+ require 'goaltender/value_parser/float'
6
+ require 'goaltender/value_parser/has_many'
7
+ require 'goaltender/value_parser/integer'
8
+ require 'goaltender/value_parser/string'
9
+
1
10
  module Goaltender
2
11
  class ValueParser
3
12
 
@@ -1,3 +1,3 @@
1
1
  module Goaltender
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/goaltender.rb CHANGED
@@ -1,25 +1,9 @@
1
- require "goaltender/version"
2
- require 'goaltender/base'
3
-
4
1
  module Goaltender
5
2
 
6
- class << self
7
- def included(base)
8
- base.extend ClassMethods
9
- end
10
- end
11
-
12
- module ClassMethods
13
- def input(name, type = nil, options = {})
14
- @@input_definitions ||= {}
15
- array = @@input_definitions[self.name].present? ? @@input_definitions[self.name] : []
16
- array << [name, type, options]
17
- @@input_definitions[self.name] = array
18
- end
19
-
20
- def input_definitions
21
- @@input_definitions
22
- end
23
- end
24
-
25
3
  end
4
+
5
+ require "goaltender/version"
6
+ require "goaltender/base_module"
7
+ require 'goaltender/value_parser'
8
+ require 'goaltender/input'
9
+ require 'goaltender/base'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goaltender
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Francis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-13 00:00:00.000000000 Z
11
+ date: 2015-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -54,9 +54,11 @@ files:
54
54
  - Rakefile
55
55
  - bin/console
56
56
  - bin/setup
57
+ - goaltender-0.0.1.gem
57
58
  - goaltender.gemspec
58
59
  - lib/goaltender.rb
59
60
  - lib/goaltender/base.rb
61
+ - lib/goaltender/base_module.rb
60
62
  - lib/goaltender/input.rb
61
63
  - lib/goaltender/value_parser.rb
62
64
  - lib/goaltender/value_parser/belongs_to.rb
@@ -89,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
91
  version: '0'
90
92
  requirements: []
91
93
  rubyforge_project:
92
- rubygems_version: 2.2.2
94
+ rubygems_version: 2.4.8
93
95
  signing_key:
94
96
  specification_version: 4
95
97
  summary: Rails form parser