toolsmith 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.0.13
4
+
5
+ * Add definition_list_for helper for creating lists with only attribute names.
6
+ * Code cleanup
7
+
3
8
  ## v0.0.12
4
9
 
5
10
  * Blank definition lists will now render a  
data/lib/toolsmith.rb CHANGED
@@ -11,6 +11,7 @@ module Toolsmith
11
11
  autoload :PageHeader, "toolsmith/views/page_header"
12
12
  autoload :FlashDiv, "toolsmith/views/flash_div"
13
13
  autoload :DefinitionList, "toolsmith/views/definition_list"
14
+ autoload :DefinitionListFor, "toolsmith/views/definition_list_for"
14
15
  end
15
16
 
16
17
  MissingParameter = Class.new(StandardError)
@@ -0,0 +1,12 @@
1
+ module Toolsmith
2
+ module ViewHelpers
3
+ module DefinitionListForHelpers
4
+ def definition_list_for(object, options={}, &block)
5
+ definition_list = Toolsmith::Views::DefinitionListFor.new_with_object(self, object, &block)
6
+ definition_list.options.merge!(options)
7
+ yield definition_list
8
+ definition_list
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module Toolsmith
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
@@ -2,6 +2,7 @@ require "toolsmith/helpers/bootstrap_helpers"
2
2
  require "toolsmith/helpers/grid_helpers"
3
3
  require "toolsmith/helpers/page_header_helpers"
4
4
  require "toolsmith/helpers/definition_list_helpers"
5
+ require "toolsmith/helpers/definition_list_for_helpers"
5
6
 
6
7
  module Toolsmith
7
8
  module ViewHelpers
@@ -9,5 +10,6 @@ module Toolsmith
9
10
  include GridHelpers
10
11
  include PageHeaderHelpers
11
12
  include DefinitionListHelpers
13
+ include DefinitionListForHelpers
12
14
  end
13
15
  end
@@ -1,13 +1,13 @@
1
1
  module Toolsmith
2
2
  module Views
3
3
  class DefinitionList < Base
4
- DEFAULT_CLASS = "dl-horizontal"
4
+ DEFAULT_OPTIONS = { horizontal: true }
5
5
 
6
6
  attr_reader :content_block, :options
7
7
 
8
8
  def initialize(context, options={}, &block)
9
9
  @content_block = block if block_given?
10
- @options = options
10
+ @options = DEFAULT_OPTIONS.merge(options)
11
11
  super(context, &nil)
12
12
  end
13
13
 
@@ -24,7 +24,9 @@ module Toolsmith
24
24
  private
25
25
 
26
26
  def dl_options
27
- { class: !options[:horizontal] ? DEFAULT_CLASS : "" }
27
+ {
28
+ class: options[:horizontal] ? "dl-horizontal" : nil
29
+ }
28
30
  end
29
31
  end
30
32
  end
@@ -0,0 +1,39 @@
1
+ module Toolsmith
2
+ module Views
3
+ class DefinitionListFor < Base
4
+ attr_accessor :object, :options
5
+ attr_reader :content_block
6
+
7
+ DEFAULT_OPTIONS = { horizontal: true }
8
+
9
+ def initialize(context, &block)
10
+ @content_block = block if block_given?
11
+ @options = DEFAULT_OPTIONS.dup
12
+ super(context, &nil)
13
+ end
14
+
15
+ def self.new_with_object(context, object, &block)
16
+ definition_list = new(context, &block)
17
+ definition_list.object = object
18
+ definition_list
19
+ end
20
+
21
+ def define(attribute)
22
+ human_attribute = attribute.to_s.humanize
23
+
24
+ content_tag(:dt, human_attribute) + content_tag(:dd, object.send(attribute))
25
+ end
26
+
27
+ def to_s
28
+ content = context.capture(self, &content_block)
29
+ content_tag :dl, content, dl_options
30
+ end
31
+
32
+ def dl_options
33
+ {
34
+ class: options[:horizontal] ? "dl-horizontal" : nil
35
+ }
36
+ end
37
+ end
38
+ end
39
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toolsmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-02-16 00:00:00.000000000 Z
13
+ date: 2013-03-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -162,6 +162,7 @@ files:
162
162
  - lib/toolsmith/core_ext/array.rb
163
163
  - lib/toolsmith/engine.rb
164
164
  - lib/toolsmith/helpers/bootstrap_helpers.rb
165
+ - lib/toolsmith/helpers/definition_list_for_helpers.rb
165
166
  - lib/toolsmith/helpers/definition_list_helpers.rb
166
167
  - lib/toolsmith/helpers/grid_helpers.rb
167
168
  - lib/toolsmith/helpers/page_header_helpers.rb
@@ -169,6 +170,7 @@ files:
169
170
  - lib/toolsmith/view_helpers.rb
170
171
  - lib/toolsmith/views/base.rb
171
172
  - lib/toolsmith/views/definition_list.rb
173
+ - lib/toolsmith/views/definition_list_for.rb
172
174
  - lib/toolsmith/views/flash_div.rb
173
175
  - lib/toolsmith/views/page_header.rb
174
176
  - lib/toolsmith.rb