au_state_select 1.8 → 2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e06978561d24ac84d603d937d3139e20d689547362f676b0d56c7e8d25bfd19c
4
- data.tar.gz: 34014e26cc1d069f8e59c997a2afb152a53e7eddbec521576ef0a48738d467b8
3
+ metadata.gz: d97a29dd6a625295a22db99687e10675b9be783d88269caf9ae30246511eaf75
4
+ data.tar.gz: 8de9401fdc9e66856a9acfde0f795bab2bfadb182162cffa0e9143ee3c492861
5
5
  SHA512:
6
- metadata.gz: 2c19a5e6bfb5a257cb01a2c0a6a32f2a1a0d08edfd2a83915edbbad9070344525421cfb2e41aaeef99760aef717ea5ff8fe8fa76df15554123a4b56c718ccc0a
7
- data.tar.gz: 1cf2de1aa13150ce5e573b320af8914307022e2355423671c373e3236d802027c4022289d30313774ea570e4290ec9808c31890c65595e1aa008f801215d482b
6
+ metadata.gz: 78e764f6e75ca84f62ba4b8fdd5136a7f500c349ad6e6e82861f45d06cdd01c70e44acfbdbe59ca2981f3ab82c0591572097c3e3a9cb55c1621565fc05b6f292
7
+ data.tar.gz: 7feea179007bb19f454dc192942597dd4034ca5d842b30a0f9a700522e5a067f4c0e60b1ccc77a8025d260c73d56c1faa7f6c4b35cbc20bc2d57d2a8727cbbac
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AuStateSelect
2
2
 
3
- Provides a simple helper to get an HTML select list of Austraila states. Compatable with Rails 3 & 4.
3
+ Provides a simple helper to generate HTML select list of Austraila states. Compatable with Rails 3 & 4.
4
4
 
5
5
  ## Installation
6
6
 
@@ -1,17 +1,5 @@
1
1
  require "au_state_select/version"
2
- require "au_state_select/form_helpers"
3
- require "au_state_select/form_tag_helper"
4
- require "au_state_select/instance_tag"
5
- require "au_state_select/form_builder"
6
-
7
- ActionView::Base.send(:include, AUStateSelect::FormHelpers)
8
- ActionView::Base.send(:include, AUStateSelect::FormTagHelper)
9
-
10
- if Rails::VERSION::MAJOR >= 4
11
- ActionView::Helpers::Tags::Select.send(:include, AUStateSelect::InstanceTag)
12
- else
13
- ActionView::Helpers::InstanceTag.send(:include, AUStateSelect::InstanceTag)
14
- end
15
- ActionView::Helpers::FormBuilder.send(:include, AUStateSelect::FormBuilder)
2
+ require "au_state_select/tag_helper"
3
+ require 'au_state_select/au_state_select_helper.rb'
16
4
 
17
5
  require 'au_state_select/railtie' if defined?(Rails) and defined?(SimpleForm)
@@ -0,0 +1,59 @@
1
+ module AUStateSelect
2
+ module TagHelper
3
+ def state_option_tags
4
+ # In Rails 5.2+, `value` accepts no arguments and must also be called
5
+ # called with parens to avoid the local variable of the same name
6
+ # https://github.com/rails/rails/pull/29791
7
+ selected_option = @options.fetch(:selected) do
8
+ if self.method(:value).arity == 0
9
+ value()
10
+ else
11
+ value(@object)
12
+ end
13
+ end
14
+
15
+ option_tags_options = {
16
+ :selected => selected_option,
17
+ :disabled => @options[:disabled]
18
+ }
19
+ option_tags = options_for_select(state_options, option_tags_options)
20
+ end
21
+
22
+ private
23
+ def locale
24
+ @options[:locale]
25
+ end
26
+
27
+ def priority_states
28
+ @options[:priority_states]
29
+ end
30
+
31
+ def priority_countries_divider
32
+ @options[:priority_countries_divider] || "-"*15
33
+ end
34
+
35
+ def only_country_codes
36
+ @options[:only]
37
+ end
38
+
39
+ def except_country_codes
40
+ @options[:except]
41
+ end
42
+
43
+ def format
44
+ @options[:format] || :default
45
+ end
46
+
47
+ def state_options
48
+ if @options.key?(:short_name) && @options[:short_name]
49
+ ['ACT', 'NSW', 'NT', 'QLD', 'SA', 'TAS', 'VIC', 'WA']
50
+ else
51
+ [['Australian Capital Territory', 'ACT'],['New South Wales', 'NSW'],['Northern Territory', 'NT'],['Queensland', 'QLD'],['South Australia', 'SA'],['Tasmania', 'TAS'],['Victoria', 'VIC'],['Western Australia', 'WA']]
52
+ end
53
+ end
54
+
55
+ def html_safe_newline
56
+ "\n".html_safe
57
+ end
58
+ end
59
+ end
@@ -1,3 +1,3 @@
1
1
  module AuStateSelect
2
- VERSION = "1.8"
2
+ VERSION = "2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: au_state_select
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.8'
4
+ version: '2.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Zhang
@@ -52,11 +52,9 @@ files:
52
52
  - Rakefile
53
53
  - au_state_select.gemspec
54
54
  - lib/au_state_select.rb
55
- - lib/au_state_select/form_builder.rb
56
- - lib/au_state_select/form_helpers.rb
57
- - lib/au_state_select/form_tag_helper.rb
58
- - lib/au_state_select/instance_tag.rb
55
+ - lib/au_state_select/au_state_select_helper.rb
59
56
  - lib/au_state_select/railtie.rb
57
+ - lib/au_state_select/tag_helper.rb
60
58
  - lib/au_state_select/version.rb
61
59
  homepage: ''
62
60
  licenses:
@@ -1,13 +0,0 @@
1
- module AUStateSelect
2
- module FormHelpers
3
- def state_select(object_name, method, priority_countries = nil, options = {}, html_options = {})
4
- if Rails::VERSION::MAJOR >= 4
5
- instance_tag = ActionView::Helpers::Tags::Select.new(object_name, method, self, [], options, html_options)
6
- instance_tag.to_state_select_tag(priority_countries, html_options)
7
- else
8
- instance_tag = ActionView::Helpers::InstanceTag.new(object_name, method, self, options.delete(:object))
9
- instance_tag.to_state_select_tag(priority_countries, html_options, options)
10
- end
11
- end
12
- end
13
- end
@@ -1,35 +0,0 @@
1
- module AUStateSelect
2
- module FormTagHelper
3
- def state_select_tag(name, options = {}, html_options = {})
4
-
5
- states = ""
6
-
7
- if options.present? and (options[:include_blank] or (options[:prompt]))
8
- if options[:include_blank].present?
9
- option = options[:include_blank] == true ? "" : options[:include_blank]
10
- elsif options[:prompt].present?
11
- option = options[:prompt] == true ? "Please Select" : options[:prompt]
12
- end
13
- states += "<option value>#{option}</option>\n"
14
- end
15
-
16
- select_options = if options.key?(:short_name) and options[:short_name]
17
- ['ACT', 'NSW', 'NT', 'QLD', 'SA', 'TAS', 'VIC', 'WA']
18
- else
19
- [['Australian Capital Territory', 'ACT'],['New South Wales', 'NSW'],['Northern Territory', 'NT'],['Queensland', 'QLD'],['South Australia', 'SA'],['Tasmania', 'TAS'],['Victoria', 'VIC'],['Western Australia', 'WA']]
20
- end
21
-
22
- if options.key?(:value) and options[:value]
23
- states = states + options_for_select(select_options, options[:value])
24
- else
25
- states = states + options_for_select(select_options)
26
- end
27
-
28
- html_options = html_options.stringify_keys
29
-
30
- attribute_id = options[:id] || name
31
-
32
- content_tag(:select, states.html_safe, { "name" => name, "id" => sanitize_to_id(attribute_id) }.update(html_options.stringify_keys))
33
- end
34
- end
35
- end
@@ -1,45 +0,0 @@
1
- module AUStateSelect
2
-
3
- module InstanceTag
4
- def to_state_select_tag(priority_states, html_options = {}, options = {})
5
- # Rails 4 stores options sent when creating an InstanceTag.
6
- # Let's use them!
7
- options = @options if defined?(@options)
8
-
9
- state_select(priority_states, options, html_options)
10
- end
11
-
12
- def state_select(priority_states, options, html_options)
13
- selected = object.send(@method_name) if object.respond_to?(@method_name)
14
-
15
- states = ""
16
-
17
- if options.present? and (options[:include_blank] or (options[:prompt] and !selected))
18
- if options[:include_blank].present?
19
- option = options[:include_blank] == true ? "" : options[:include_blank]
20
- elsif options[:prompt].present?
21
- option = options[:prompt] == true ? "Please Select" : options[:prompt]
22
- end
23
- states += "<option value>#{option}</option>\n"
24
- end
25
-
26
- if priority_states
27
- states += options_for_select(priority_states, selected)
28
- states += "<option value=\"\" disabled=\"disabled\">-------------</option>\n"
29
- end
30
-
31
- select_options = if options.key?(:short_name) and options[:short_name]
32
- ['ACT', 'NSW', 'NT', 'QLD', 'SA', 'TAS', 'VIC', 'WA']
33
- else
34
- [['Australian Capital Territory', 'ACT'],['New South Wales', 'NSW'],['Northern Territory', 'NT'],['Queensland', 'QLD'],['South Australia', 'SA'],['Tasmania', 'TAS'],['Victoria', 'VIC'],['Western Australia', 'WA']]
35
- end
36
- states = states + options_for_select(select_options, selected)
37
-
38
- html_options = html_options.stringify_keys
39
- add_default_name_and_id(html_options)
40
-
41
- content_tag(:select, states.html_safe, html_options)
42
- end
43
- end
44
-
45
- end