rails-angulate 0.0.1 → 0.0.2.pre.v1

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: b2c4edfa704869f0f851c31ed0a1d6664d91f159
4
- data.tar.gz: d5bbc86ee369bf6716646f3bcd490a8065313f9c
3
+ metadata.gz: b69562ba95d502b6440d3519e93b10cb40c4df8c
4
+ data.tar.gz: a44b08c372420ab2af4362192d6a5298627d6b60
5
5
  SHA512:
6
- metadata.gz: 05f74b84bdd08df8df880bc56c48261d1b9ead1df116851a54670878bf69c2a1327383b3fe6ffa89bb0e20cedb40e7e5c420f797d6bf5313df31a4fe63078639
7
- data.tar.gz: 0ad0bdc1418c1f63e58f156fb82d54e7fd256df9df93920d9bf9d8544f59760e69fa147be81fb46d30bd444bf0e89ffc7fdf7d83dba4cf88ab0dca94c7bd7f68
6
+ metadata.gz: 1776ffc9b3c58341f700fe687639ade820c271386bd3b7494ad82c56efb27bee0870c7f4c9e86eebf94c69affeb3bc52d250b0919ccf792ee56835c0fdf166b4
7
+ data.tar.gz: 6381545516ab3e0f79c0e9de77f4f0b6b0d3cbe5fc155f452f0d38c0ed7e558247aea07c04e60abdec950d48c4c52a3469d938240f3f4ae52d9b9fdd25a87ac1
@@ -8,6 +8,7 @@ module Rails
8
8
 
9
9
  %i{
10
10
  ng_text_field
11
+ ng_text_area
11
12
  ng_email_field
12
13
  ng_error_messages_for
13
14
  }.each do |_adv_method|
@@ -12,6 +12,10 @@ module Rails
12
12
  form_for(record, options, &block)
13
13
  end
14
14
 
15
+ def ng_text_area(object_name, method, options = {})
16
+ Tags::NgTextArea.new(object_name, method, self, options).render
17
+ end
18
+
15
19
  def ng_text_field(object_name, method, options = {})
16
20
  Tags::NgTextField.new(object_name, method, self, options).render
17
21
  end
@@ -0,0 +1,27 @@
1
+ module Rails
2
+ module Angulate
3
+ module Helpers
4
+ module Tags
5
+ class NgTextArea < ActionView::Helpers::Tags::Base
6
+ include TagCommon
7
+
8
+ def render
9
+ options = @options.stringify_keys
10
+ add_default_name_and_id(options)
11
+
12
+ if size = options.delete("size")
13
+ options["cols"], options["rows"] = size.split("x") if size.respond_to?(:split)
14
+ end
15
+
16
+ add_ng_options(options)
17
+ add_ng_model(options)
18
+ add_ng_validation_attrs(options)
19
+
20
+ content_tag("textarea", options.delete("value") { value_before_type_cast(object) }, options)
21
+ end
22
+
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -13,39 +13,12 @@ module Rails
13
13
  options["value"] &&= ERB::Util.html_escape(options["value"])
14
14
 
15
15
  add_default_name_and_id(options)
16
- set_ng_options(options)
16
+ add_ng_options(options)
17
+ add_ng_model(options)
17
18
  add_ng_validation_attrs(options)
18
19
 
19
20
  tag 'input', options
20
21
  end
21
-
22
- def set_ng_options(options)
23
- if options.has_key?("ng")
24
- options.delete("ng").each do |k, v|
25
- options["ng-#{k}"] = v
26
- end
27
- end
28
-
29
- unless options.has_key?("ng-model")
30
- options["ng-model"] = options.fetch("ngModel") do
31
- ng_model_name(options["id"])
32
- end.to_s
33
- end
34
- end
35
-
36
- def add_ng_validation_attrs(attrs)
37
- validators.each do |validator|
38
- attrs.reverse_merge!(validator_mapper_for(validator).ng_attributes)
39
- end
40
- end
41
-
42
- def ng_model_name(id)
43
- id.camelize(:lower)
44
- end
45
-
46
- def self.field_type
47
- @field_type ||= super.sub(/^ng/, '')
48
- end
49
22
  end
50
23
  end
51
24
  end
@@ -23,9 +23,39 @@ module Rails
23
23
  object.class.validators.select { |v| v.attributes.include?(@method_name.to_sym) }
24
24
  end
25
25
 
26
+ def add_ng_validation_attrs(attrs)
27
+ validators.each do |validator|
28
+ attrs.reverse_merge!(validator_mapper_for(validator).ng_attributes)
29
+ end
30
+ end
31
+
26
32
  def validator_mapper_for(validator)
27
33
  Rails::Angulate::Mappers.create_validator_mapper_for(object, @method_name, validator)
28
34
  end
35
+
36
+ def add_ng_options(options)
37
+ if options.has_key?("ng")
38
+ options.delete("ng").each do |k, v|
39
+ options["ng-#{k}"] = v
40
+ end
41
+ end
42
+ end
43
+
44
+ def add_ng_model(options)
45
+ unless options.has_key?("ng-model")
46
+ options["ng-model"] = options.fetch("ngModel") do
47
+ ng_model_name(options["id"])
48
+ end.to_s
49
+ end
50
+ end
51
+
52
+ def ng_model_name(id)
53
+ id.camelize(:lower)
54
+ end
55
+
56
+ def self.field_type
57
+ @field_type ||= super.sub(/^ng/, '')
58
+ end
29
59
  end
30
60
  end
31
61
  end
@@ -7,6 +7,7 @@ module Rails
7
7
  eager_autoload do
8
8
  autoload :TagCommon
9
9
  autoload :NgTextField
10
+ autoload :NgTextArea
10
11
  autoload :NgEmailField
11
12
  autoload :NgValidationErrors
12
13
  end
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module Angulate
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2-v1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-angulate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2.pre.v1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stan Bondi
@@ -14,14 +14,14 @@ dependencies:
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4'
27
27
  - !ruby/object:Gem::Dependency
@@ -73,6 +73,7 @@ files:
73
73
  - lib/rails/angulate/helpers/form_helper.rb
74
74
  - lib/rails/angulate/helpers/tags.rb
75
75
  - lib/rails/angulate/helpers/tags/ng_email_field.rb
76
+ - lib/rails/angulate/helpers/tags/ng_text_area.rb
76
77
  - lib/rails/angulate/helpers/tags/ng_text_field.rb
77
78
  - lib/rails/angulate/helpers/tags/ng_validation_errors.rb
78
79
  - lib/rails/angulate/helpers/tags/tag_common.rb
@@ -99,9 +100,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
100
  version: '0'
100
101
  required_rubygems_version: !ruby/object:Gem::Requirement
101
102
  requirements:
102
- - - ">="
103
+ - - ">"
103
104
  - !ruby/object:Gem::Version
104
- version: '0'
105
+ version: 1.3.1
105
106
  requirements: []
106
107
  rubyforge_project:
107
108
  rubygems_version: 2.2.2