attributes_for 0.4.1 → 0.4.2

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: 0a5438a6939910bfcc348ce1efbdb9ba3f7b0044
4
- data.tar.gz: 27f5e9b54784398d910bca25b0ee1b7b6a96188d
3
+ metadata.gz: 0df8d175cc3ec8856f90ac1b31aeaa570d1af17e
4
+ data.tar.gz: cd47f8a1e9da4a4c2bdd12d8df6aae2647449420
5
5
  SHA512:
6
- metadata.gz: 6d0b79c5f064e77f0e8b5cea67a46933d3f0d4f4990ea989cdee47f2071e6f25339a529d8fe005ac10bb92a619bc0b6d2a59712729bdf170658bb13bc517c18f
7
- data.tar.gz: 81652bc0d703440d0c5ad61ca5ed0f79a8feeb3aca364154cdc43d13aa7fc0b338bb4819e66c426c249b4c38bb5f5febee485344c2dcedb8cf64e6feb6092e1d
6
+ metadata.gz: 5a78a9a45ef9bb1ebd38df8e37758e471141f6fcb86316d98e65e5b6507af151503d1d8f515fc28d1dbf7690182964d58d0b342caaa00a22062225cac6db9f4a
7
+ data.tar.gz: b662c1a626998a68ba7c908c6092e1512d4ef8a538040436c30e14eac89d5c77b8b84c01d4d4e996bd501edd9347f58d4ff65c4d0484a69edc789c5116953fdc
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.gitignore CHANGED
@@ -1,10 +1,10 @@
1
1
  *.gem
2
- /.bundle/
3
- /.yardoc
4
- /Gemfile.lock
5
- /_yardoc/
6
- /coverage/
7
- /doc/
8
- /pkg/
9
- /spec/reports/
10
- /tmp/
2
+ .bundle/
3
+ coverage/
4
+ log/*.log
5
+ pkg/
6
+ test/dummy/db/*.sqlite3
7
+ test/dummy/db/*.sqlite3-journal
8
+ test/dummy/log/*.log
9
+ test/dummy/tmp/
10
+ test/dummy/.sass-cache
@@ -1,5 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 1.9.3
3
4
  - 2.1.0
4
5
  - 2.2.2
5
6
  before_install: gem install bundler -v 1.10.3
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+
4
+ ## [0.4.2] - 2015-09-05
5
+ ## Changed
6
+ - Use minitest instead of rspec
7
+ - Replaced `phony_rails` with `phony`.
8
+
9
+ ### Fixed
10
+ - `string` helper now working as expected. Requires block to be passed
11
+ for content.
12
+
3
13
  ## [0.4.1] - 2015-08-18
4
14
  ### Added
5
15
  - Use `phony_rails` to format phone numbers.
data/Gemfile CHANGED
@@ -1,4 +1,15 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in attributes_for.gemspec
3
+ # Declare your gem's dependencies in attributes_for.gemspec.
4
+ # Bundler will treat runtime dependencies like base dependencies, and
5
+ # development dependencies will be added by default to the :development group.
4
6
  gemspec
7
+
8
+ # Declare any dependencies that are still in development here instead of in
9
+ # your gemspec. These might include edge Rails or gems from your path or
10
+ # Git. Remember to move these dependencies to your gemspec before releasing
11
+ # your gem to rubygems.org.
12
+
13
+ # To use a debugger
14
+ # gem 'byebug', group: [:development, :test]
15
+
@@ -0,0 +1,106 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ attributes_for (0.4.2)
5
+ chronic_duration (~> 0.10)
6
+ font-awesome-rails (~> 4.0)
7
+ phony (~> 2.0)
8
+ railties (>= 3.2, < 5.0)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ actionpack (4.2.4)
14
+ actionview (= 4.2.4)
15
+ activesupport (= 4.2.4)
16
+ rack (~> 1.6)
17
+ rack-test (~> 0.6.2)
18
+ rails-dom-testing (~> 1.0, >= 1.0.5)
19
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
20
+ actionview (4.2.4)
21
+ activesupport (= 4.2.4)
22
+ builder (~> 3.1)
23
+ erubis (~> 2.7.0)
24
+ rails-dom-testing (~> 1.0, >= 1.0.5)
25
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
26
+ activesupport (4.2.4)
27
+ i18n (~> 0.7)
28
+ json (~> 1.7, >= 1.7.7)
29
+ minitest (~> 5.1)
30
+ thread_safe (~> 0.3, >= 0.3.4)
31
+ tzinfo (~> 1.1)
32
+ builder (3.2.2)
33
+ chronic_duration (0.10.6)
34
+ numerizer (~> 0.1.1)
35
+ coveralls (0.8.2)
36
+ json (~> 1.8)
37
+ rest-client (>= 1.6.8, < 2)
38
+ simplecov (~> 0.10.0)
39
+ term-ansicolor (~> 1.3)
40
+ thor (~> 0.19.1)
41
+ docile (1.1.5)
42
+ domain_name (0.5.24)
43
+ unf (>= 0.0.5, < 1.0.0)
44
+ erubis (2.7.0)
45
+ font-awesome-rails (4.4.0.0)
46
+ railties (>= 3.2, < 5.0)
47
+ http-cookie (1.0.2)
48
+ domain_name (~> 0.5)
49
+ i18n (0.7.0)
50
+ json (1.8.3)
51
+ loofah (2.0.3)
52
+ nokogiri (>= 1.5.9)
53
+ mime-types (2.6.1)
54
+ mini_portile (0.6.2)
55
+ minitest (5.8.0)
56
+ netrc (0.10.3)
57
+ nokogiri (1.6.6.2)
58
+ mini_portile (~> 0.6.0)
59
+ numerizer (0.1.1)
60
+ phony (2.15.0)
61
+ rack (1.6.4)
62
+ rack-test (0.6.3)
63
+ rack (>= 1.0)
64
+ rails-deprecated_sanitizer (1.0.3)
65
+ activesupport (>= 4.2.0.alpha)
66
+ rails-dom-testing (1.0.7)
67
+ activesupport (>= 4.2.0.beta, < 5.0)
68
+ nokogiri (~> 1.6.0)
69
+ rails-deprecated_sanitizer (>= 1.0.1)
70
+ rails-html-sanitizer (1.0.2)
71
+ loofah (~> 2.0)
72
+ railties (4.2.4)
73
+ actionpack (= 4.2.4)
74
+ activesupport (= 4.2.4)
75
+ rake (>= 0.8.7)
76
+ thor (>= 0.18.1, < 2.0)
77
+ rake (10.4.2)
78
+ rest-client (1.8.0)
79
+ http-cookie (>= 1.0.2, < 2.0)
80
+ mime-types (>= 1.16, < 3.0)
81
+ netrc (~> 0.7)
82
+ simplecov (0.10.0)
83
+ docile (~> 1.1.0)
84
+ json (~> 1.8)
85
+ simplecov-html (~> 0.10.0)
86
+ simplecov-html (0.10.0)
87
+ term-ansicolor (1.3.2)
88
+ tins (~> 1.0)
89
+ thor (0.19.1)
90
+ thread_safe (0.3.5)
91
+ tins (1.6.0)
92
+ tzinfo (1.2.2)
93
+ thread_safe (~> 0.1)
94
+ unf (0.1.4)
95
+ unf_ext
96
+ unf_ext (0.0.7.1)
97
+
98
+ PLATFORMS
99
+ ruby
100
+
101
+ DEPENDENCIES
102
+ attributes_for!
103
+ coveralls
104
+
105
+ BUNDLED WITH
106
+ 1.10.3
@@ -0,0 +1,20 @@
1
+ Copyright 2015 Ole J. Rosendahl
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,11 +1,15 @@
1
1
  [travis]: https://travis-ci.org/blacktangent/attributes_for
2
2
  [codeclimate]: https://codeclimate.com/github/blacktangent/attributes_for
3
+ [coveralls]: https://coveralls.io/r/blacktangent/attributes_for
4
+ [rubygems]: https://rubygems.org/gems/attributes_for
5
+
3
6
 
4
7
  # AttributesFor
5
8
 
6
9
  [![Build Status](https://travis-ci.org/blacktangent/attributes_for.svg?branch=master)][travis]
7
10
  [![Code Climate](https://codeclimate.com/github/blacktangent/attributes_for/badges/gpa.svg)][codeclimate]
8
- [![Test Coverage](https://codeclimate.com/github/blacktangent/attributes_for/badges/coverage.svg)][codeclimate]
11
+ [![Test Coverage](http://img.shields.io/coveralls/blacktangent/attributes_for/master.svg)][coveralls]
12
+ [![Gem Version](http://img.shields.io/gem/v/attributes_for.svg)][rubygems]
9
13
 
10
14
  ActiveView Helper to present formatted ActiveModel attributes with
11
15
  icons.
@@ -56,6 +60,11 @@ strings can also be presented using the `string` method.
56
60
  <li><%= b.duration :duration %></li>
57
61
  <li><%= b.boolean :active %></li>
58
62
  <li><%= b.date :created_at, format: :long %> </li>
63
+ <li>
64
+ <%= b.string "Label" do %>
65
+ Content
66
+ <% end %>
67
+ </li>
59
68
  <% end %>
60
69
  </ul>
61
70
  ```
data/Rakefile CHANGED
@@ -1,6 +1,34 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
3
6
 
4
- RSpec::Core::RakeTask.new(:spec)
7
+ require 'rdoc/task'
5
8
 
6
- task :default => :spec
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'AttributesFor'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+
21
+
22
+ Bundler::GemHelper.install_tasks
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
31
+ end
32
+
33
+
34
+ task default: :test
@@ -0,0 +1,87 @@
1
+ module AttributesFor
2
+ module Rails
3
+ module AttributesForHelper
4
+
5
+ def attributes_for(object, options = {}, &block)
6
+ capture AttributeBuilder.new(object, self), &block
7
+ end
8
+
9
+ class AttributeBuilder
10
+ include ActionView::Helpers
11
+
12
+ attr_accessor :object, :template
13
+
14
+ def initialize(object, template)
15
+ @object, @template = object, template
16
+ end
17
+
18
+ def string(label, options = {}, &block)
19
+ wrap_content(" #{label}: " + template.capture(&block), options)
20
+ end
21
+
22
+ def method_missing(m, *args, &block)
23
+ build_content(m, *args, &block)
24
+ end
25
+
26
+ private
27
+
28
+ def build_content(method, attribute_name, options = {}, &block)
29
+ value = object.public_send(attribute_name)
30
+
31
+ content = if block_given?
32
+ template.capture(&block)
33
+ elsif value.to_s.empty?
34
+ I18n.t "attributes_for.not_set"
35
+ else
36
+ case method.to_sym
37
+ when :boolean
38
+ I18n.t("attributes_for.#{value.to_s}")
39
+ when :date
40
+ I18n.l(value, format: options[:format])
41
+ when :duration
42
+ ChronicDuration.output(value, :keep_zero => true)
43
+ when :email
44
+ mail_to(value, value, title: human_name(attribute_name))
45
+ when :phone
46
+ link_to(Phony.format(value.to_s), "tel:+#{value}", title: human_name(attribute_name))
47
+ when :url
48
+ link_to(value, value, title: human_name(attribute_name))
49
+ else
50
+ value
51
+ end
52
+ end
53
+
54
+ options[:class] ||= icon_map(method)
55
+ options[:id] ||= attribute_name.to_s
56
+
57
+ wrap_content(label(attribute_name, options) + content, options)
58
+ end
59
+
60
+ def wrap_content(content, options = {})
61
+ content_tag(:i, content, id: options[:id], class: options[:class])
62
+ end
63
+
64
+ def label(attribute, options)
65
+ return " ".html_safe if options[:label] === false
66
+ " #{human_name(attribute)}: ".html_safe
67
+ end
68
+
69
+ def human_name(attribute)
70
+ object.class.human_attribute_name(attribute)
71
+ end
72
+
73
+ def icon_map(method)
74
+ {
75
+ boolean: 'fa fa-check',
76
+ date: 'fa fa-calendar',
77
+ duration: 'fa fa-clock-o',
78
+ email: 'fa fa-envelope',
79
+ phone: 'fa fa-phone',
80
+ url: 'fa fa-globe',
81
+ }[method]
82
+ end
83
+
84
+ end
85
+ end
86
+ end
87
+ end
@@ -16,16 +16,14 @@ Gem::Specification.new do |spec|
16
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  spec.bindir = "exe"
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib", "app"]
19
+ spec.require_paths = ["lib"]
20
20
 
21
- spec.required_ruby_version = '~> 2.0'
21
+ spec.required_ruby_version = '>= 1.9.3'
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.10"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rspec", "~> 2.3"
26
-
27
- spec.add_dependency 'rails', '~> 4.0'
23
+ spec.add_dependency 'railties', '>= 3.2', '< 5.0'
28
24
  spec.add_dependency 'font-awesome-rails', '~> 4.0'
29
25
  spec.add_dependency 'chronic_duration', '~> 0.10'
30
- spec.add_dependency 'phony_rails', '~> 0.12'
26
+ spec.add_dependency 'phony', '~> 2.0'
27
+
28
+ spec.add_development_dependency 'coveralls'
31
29
  end
@@ -1,10 +1,3 @@
1
1
  require "attributes_for/version"
2
- require "rails/engine"
3
- require "action_view"
4
2
  require "attributes_for/engine"
5
- require "helpers/attributes_for/attributes_for_helper"
6
- require "phony_rails"
7
-
8
- module AttributesFor
9
- # Your code goes here...
10
- end
3
+ require "phony"
@@ -1,3 +1,3 @@
1
1
  module AttributesFor
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :attributes_for do
3
+ # # Task goes here
4
+ # end
metadata CHANGED
@@ -1,59 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attributes_for
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ole J. Rosendahl
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-21 00:00:00.000000000 Z
11
+ date: 2015-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.10'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
17
+ - - ">="
25
18
  - !ruby/object:Gem::Version
26
- version: '1.10'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
19
+ version: '3.2'
20
+ - - "<"
32
21
  - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
22
+ version: '5.0'
23
+ type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
- - - "~>"
27
+ - - ">="
39
28
  - !ruby/object:Gem::Version
40
- version: '10.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
29
+ version: '3.2'
30
+ - - "<"
46
31
  - !ruby/object:Gem::Version
47
- version: '2.3'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '2.3'
32
+ version: '5.0'
55
33
  - !ruby/object:Gem::Dependency
56
- name: rails
34
+ name: font-awesome-rails
57
35
  requirement: !ruby/object:Gem::Requirement
58
36
  requirements:
59
37
  - - "~>"
@@ -67,47 +45,47 @@ dependencies:
67
45
  - !ruby/object:Gem::Version
68
46
  version: '4.0'
69
47
  - !ruby/object:Gem::Dependency
70
- name: font-awesome-rails
48
+ name: chronic_duration
71
49
  requirement: !ruby/object:Gem::Requirement
72
50
  requirements:
73
51
  - - "~>"
74
52
  - !ruby/object:Gem::Version
75
- version: '4.0'
53
+ version: '0.10'
76
54
  type: :runtime
77
55
  prerelease: false
78
56
  version_requirements: !ruby/object:Gem::Requirement
79
57
  requirements:
80
58
  - - "~>"
81
59
  - !ruby/object:Gem::Version
82
- version: '4.0'
60
+ version: '0.10'
83
61
  - !ruby/object:Gem::Dependency
84
- name: chronic_duration
62
+ name: phony
85
63
  requirement: !ruby/object:Gem::Requirement
86
64
  requirements:
87
65
  - - "~>"
88
66
  - !ruby/object:Gem::Version
89
- version: '0.10'
67
+ version: '2.0'
90
68
  type: :runtime
91
69
  prerelease: false
92
70
  version_requirements: !ruby/object:Gem::Requirement
93
71
  requirements:
94
72
  - - "~>"
95
73
  - !ruby/object:Gem::Version
96
- version: '0.10'
74
+ version: '2.0'
97
75
  - !ruby/object:Gem::Dependency
98
- name: phony_rails
76
+ name: coveralls
99
77
  requirement: !ruby/object:Gem::Requirement
100
78
  requirements:
101
- - - "~>"
79
+ - - ">="
102
80
  - !ruby/object:Gem::Version
103
- version: '0.12'
104
- type: :runtime
81
+ version: '0'
82
+ type: :development
105
83
  prerelease: false
106
84
  version_requirements: !ruby/object:Gem::Requirement
107
85
  requirements:
108
- - - "~>"
86
+ - - ">="
109
87
  - !ruby/object:Gem::Version
110
- version: '0.12'
88
+ version: '0'
111
89
  description: ActiveView Helper to present formatted ActiveModel attributes with icons.
112
90
  email:
113
91
  - ole.johnny.rosendahl@gmail.com
@@ -115,16 +93,19 @@ executables: []
115
93
  extensions: []
116
94
  extra_rdoc_files: []
117
95
  files:
96
+ - ".coveralls.yml"
118
97
  - ".gitignore"
119
98
  - ".rspec"
120
99
  - ".travis.yml"
121
100
  - CHANGELOG.md
122
101
  - CODE_OF_CONDUCT.md
123
102
  - Gemfile
103
+ - Gemfile.lock
124
104
  - LICENSE.txt
105
+ - MIT-LICENSE
125
106
  - README.md
126
107
  - Rakefile
127
- - app/helpers/attributes_for/attributes_for_helper.rb
108
+ - app/helpers/attributes_for/rails/attributes_for_helper.rb
128
109
  - attributes_for.gemspec
129
110
  - bin/console
130
111
  - bin/setup
@@ -135,6 +116,7 @@ files:
135
116
  - lib/generators/attributes_for/templates/attributes_for.css
136
117
  - lib/generators/attributes_for/templates/attributes_for.css.scss
137
118
  - lib/generators/attributes_for/templates/attributes_for.en.yml
119
+ - lib/tasks/attributes_for_tasks.rake
138
120
  homepage: https://github.com/blacktangent/attributes_for
139
121
  licenses:
140
122
  - MIT
@@ -143,12 +125,11 @@ post_install_message:
143
125
  rdoc_options: []
144
126
  require_paths:
145
127
  - lib
146
- - app
147
128
  required_ruby_version: !ruby/object:Gem::Requirement
148
129
  requirements:
149
- - - "~>"
130
+ - - ">="
150
131
  - !ruby/object:Gem::Version
151
- version: '2.0'
132
+ version: 1.9.3
152
133
  required_rubygems_version: !ruby/object:Gem::Requirement
153
134
  requirements:
154
135
  - - ">="
@@ -1,93 +0,0 @@
1
- module AttributesFor
2
- module AttributesForHelper
3
-
4
- def attributes_for(object, options = {}, &block)
5
- capture AttributeBuilder.new(object, self), &block
6
- end
7
-
8
- class AttributeBuilder
9
- include ActionView::Helpers
10
-
11
- attr_accessor :object, :template
12
-
13
- def initialize(object, template)
14
- @object, @template = object, template
15
- end
16
-
17
- def string(content, options = {})
18
- wrap_content(" #{content}", options)
19
- end
20
-
21
- def method_missing(m, *args, &block)
22
- build_content(m, *args, &block)
23
- end
24
-
25
- private
26
-
27
- def build_content(method, attribute_name, options = {}, &block)
28
- value = attribute_value(attribute_name)
29
-
30
- content = if block_given?
31
- template.capture(&block)
32
- elsif value.to_s.empty?
33
- I18n.t "attributes_for.not_set"
34
- else
35
- case method.to_sym
36
- when :boolean
37
- I18n.t("attributes_for.#{value.to_s}")
38
- when :date
39
- I18n.l(value, format: options[:format])
40
- when :duration
41
- ChronicDuration.output(value, :keep_zero => true)
42
- when :email
43
- mail_to(" #{value}", value, title: human_name(attribute_name))
44
- when :phone
45
- link_to(" #{value.to_s.phony_formatted(:format => :international)}", "tel:+#{value}", title: human_name(attribute_name))
46
- when :url
47
- link_to(" #{value}", value, title: human_name(attribute_name))
48
- else
49
- value
50
- end
51
- end
52
-
53
- options[:class] ||= icon_map(method)
54
- options[:id] ||= attribute_name.to_s
55
-
56
- wrap_content(label(attribute_name, options) + content, options)
57
- end
58
-
59
- def wrap_content(content, options = {})
60
- content_tag(:i, content, id: options[:id], class: options[:class])
61
- end
62
-
63
- def attribute_value(attribute_name)
64
- if attribute_name.is_a?(String)
65
- attribute_name
66
- else
67
- object.public_send(attribute_name)
68
- end
69
- end
70
-
71
- def label(attribute, options)
72
- return " ".html_safe if options[:label] === false
73
- " #{human_name(attribute)}: ".html_safe
74
- end
75
-
76
- def human_name(attribute)
77
- object.class.human_attribute_name(attribute)
78
- end
79
-
80
- def icon_map(method)
81
- {
82
- boolean: 'fa fa-check',
83
- date: 'fa fa-calendar',
84
- duration: 'fa fa-clock-o',
85
- email: 'fa fa-envelope',
86
- phone: 'fa fa-phone',
87
- url: 'fa fa-globe',
88
- }[method]
89
- end
90
-
91
- end
92
- end
93
- end