rails-angulate 0.0.1 → 0.0.2.pre.v1
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 +4 -4
- data/lib/rails/angulate/helpers/form_builder.rb +1 -0
- data/lib/rails/angulate/helpers/form_helper.rb +4 -0
- data/lib/rails/angulate/helpers/tags/ng_text_area.rb +27 -0
- data/lib/rails/angulate/helpers/tags/ng_text_field.rb +2 -29
- data/lib/rails/angulate/helpers/tags/tag_common.rb +30 -0
- data/lib/rails/angulate/helpers/tags.rb +1 -0
- data/lib/rails/angulate/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b69562ba95d502b6440d3519e93b10cb40c4df8c
|
4
|
+
data.tar.gz: a44b08c372420ab2af4362192d6a5298627d6b60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1776ffc9b3c58341f700fe687639ade820c271386bd3b7494ad82c56efb27bee0870c7f4c9e86eebf94c69affeb3bc52d250b0919ccf792ee56835c0fdf166b4
|
7
|
+
data.tar.gz: 6381545516ab3e0f79c0e9de77f4f0b6b0d3cbe5fc155f452f0d38c0ed7e558247aea07c04e60abdec950d48c4c52a3469d938240f3f4ae52d9b9fdd25a87ac1
|
@@ -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
|
-
|
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
|
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.
|
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:
|
105
|
+
version: 1.3.1
|
105
106
|
requirements: []
|
106
107
|
rubyforge_project:
|
107
108
|
rubygems_version: 2.2.2
|