ng-attributes 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,45 @@
1
+ module ActionView::Helpers::TagHelper
2
+
3
+ private
4
+
5
+ def tag_options(options, escape = true)
6
+ return if options.blank?
7
+ attrs = []
8
+ options.each_pair do |key, value|
9
+ if key.to_s == 'data' && value.is_a?(Hash)
10
+ value.each_pair do |k, v|
11
+ attrs << data_tag_option(k, v, escape)
12
+ end
13
+ elsif key.to_s == 'ng' && value.is_a?(Hash)
14
+ value.each_pair do |k, v|
15
+ attrs << ng_tag_option(k, v, escape)
16
+ end
17
+ elsif BOOLEAN_ATTRIBUTES.include?(key)
18
+ attrs << boolean_tag_option(key) if value
19
+ elsif !value.nil?
20
+ attrs << tag_option(key, value, escape)
21
+ end
22
+ end
23
+ " #{attrs.sort! * ' '}".html_safe unless attrs.empty?
24
+ end
25
+
26
+ ['ng', 'data'].each do |method_name|
27
+ define_method("#{method_name}_tag_option") do |key, value, escape|
28
+ key = "#{method_name}-#{key.to_s.dasherize}"
29
+ unless value.is_a?(String) || value.is_a?(Symbol) || value.is_a?(BigDecimal)
30
+ value = value.to_json
31
+ end
32
+ tag_option(key, value, escape)
33
+ end
34
+ end
35
+
36
+ def boolean_tag_option(key)
37
+ %(#{key}="#{key}")
38
+ end
39
+
40
+ def tag_option(key, value, escape)
41
+ value = value.join(" ") if value.is_a?(Array)
42
+ value = ERB::Util.h(value) if escape
43
+ %(#{key}="#{value}")
44
+ end
45
+ end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ng-attributes
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Pavel Astraukh
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-05-18 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Gem for using angular.js ng-attributes in rails view helpers
15
+ email: paladin111333@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/action_view/helpers/tag_helper.rb
21
+ homepage: http://rubygems.org/gems/ng-attributes
22
+ licenses: []
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 1.8.25
42
+ signing_key:
43
+ specification_version: 3
44
+ summary: Angular.js ng attributes
45
+ test_files: []