smart_tag 0.0.4 → 0.0.6

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.
@@ -0,0 +1,18 @@
1
+ require "taggingform"
2
+ require "rails"
3
+ require "action_controller"
4
+
5
+ module SmartTag
6
+ module Rails
7
+ class Engine < ::Rails::Engine
8
+
9
+ initializer "smart_tag.helper_and_builder" do
10
+ ActiveSupport.on_load :action_view do
11
+ ActionView::Base.send(:include, SmartTag::Helper)
12
+ ActionView::Helpers::FormBuilder.send(:include, SmartTag::Builder)
13
+ end
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ module SmartTag
2
+ module Helper
3
+
4
+ # def tadding_tag(name, content = nil, options = {})
5
+ # id = sanitize_to_id(name)
6
+ # input_html = { :id => id }.merge(options.delete(:input_html) || {})
7
+ # output = ActiveSupport::SafeBuffer.new
8
+ # output << text_area_tag(name, content, input_html)
9
+ # end
10
+
11
+ def smart_tag(name, method, options = {})
12
+ input_html = (options.delete(:input_html) || {})
13
+ hash = input_html.stringify_keys
14
+ instance_tag = ActionView::Base::InstanceTag.new(name, method, self, options.delete(:object))
15
+ instance_tag.send(:add_default_name_and_id, hash)
16
+ output_buffer = ActiveSupport::SafeBuffer.new
17
+ output_buffer << instance_tag.to_text_area_tag(input_html)
18
+ end
19
+
20
+ end
21
+
22
+ module Builder
23
+ def smart_tag(method, options = {})
24
+ @template.send("smart_tag", @object_name, method, objectify_options(options))
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module SmartTag
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.6"
3
3
  end
data/lib/smart_tag.rb CHANGED
@@ -1,9 +1,8 @@
1
- require 'pathname'
2
-
3
- require "smart_tag/version"
1
+ require 'taggingform/engine'
2
+ require 'taggingform/helper'
4
3
 
5
4
  module SmartTag
6
- def self.create_tag(name, value)
7
- puts "#{name} #{value}"
5
+ def self.setup
6
+ yield self
8
7
  end
9
8
  end
data/smart_tag.gemspec CHANGED
@@ -16,4 +16,6 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
+
20
+ gem.add_dependency("jquery-ui-rails")
19
21
  end
@@ -0,0 +1,67 @@
1
+ ul.tagit {
2
+ padding: 1px 5px;
3
+ overflow: auto;
4
+ margin-left: inherit; /* usually we don't want the regular ul margins. */
5
+ margin-right: inherit;
6
+ }
7
+ ul.tagit li {
8
+ display: block;
9
+ float: left;
10
+ margin: 2px 5px 2px 0;
11
+ }
12
+ ul.tagit li.tagit-choice {
13
+ position: relative;
14
+ line-height: inherit;
15
+ }
16
+
17
+ ul.tagit li.tagit-choice-read-only {
18
+ padding: .2em .5em .2em .5em;
19
+ }
20
+
21
+ ul.tagit li.tagit-choice-editable {
22
+ padding: .2em 18px .2em .5em;
23
+ }
24
+
25
+ ul.tagit li.tagit-new {
26
+ padding: .25em 4px .25em 0;
27
+ }
28
+
29
+ ul.tagit li.tagit-choice a.tagit-label {
30
+ cursor: pointer;
31
+ text-decoration: none;
32
+ }
33
+ ul.tagit li.tagit-choice .tagit-close {
34
+ cursor: pointer;
35
+ position: absolute;
36
+ right: .1em;
37
+ top: 50%;
38
+ margin-top: -8px;
39
+ line-height: 17px;
40
+ }
41
+
42
+ /* used for some custom themes that don't need image icons */
43
+ ul.tagit li.tagit-choice .tagit-close .text-icon {
44
+ display: none;
45
+ }
46
+
47
+ ul.tagit li.tagit-choice input {
48
+ display: block;
49
+ float: left;
50
+ margin: 2px 5px 2px 0;
51
+ }
52
+ ul.tagit input[type="text"] {
53
+ -moz-box-sizing: border-box;
54
+ -webkit-box-sizing: border-box;
55
+ box-sizing: border-box;
56
+
57
+ -moz-box-shadow: none;
58
+ -webkit-box-shadow: none;
59
+ box-shadow: none;
60
+
61
+ border: none;
62
+ margin: 0;
63
+ padding: 0;
64
+ width: inherit;
65
+ background-color: inherit;
66
+ outline: none;
67
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_tag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,13 +9,28 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-16 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2013-04-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jquery-ui-rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
14
30
  description: ! 'Tag-it: a jQuery UI plugin'
15
31
  email:
16
32
  - info@tuliang.org
17
- executables:
18
- - smart_tag
33
+ executables: []
19
34
  extensions: []
20
35
  extra_rdoc_files: []
21
36
  files:
@@ -24,11 +39,13 @@ files:
24
39
  - LICENSE.txt
25
40
  - README.md
26
41
  - Rakefile
27
- - bin/smart_tag
28
42
  - lib/smart_tag.rb
43
+ - lib/smart_tag/engine.rb
44
+ - lib/smart_tag/helper.rb
29
45
  - lib/smart_tag/version.rb
30
46
  - smart_tag.gemspec
31
47
  - vendor/assets/javascripts/smart_tag/tag-it.min.js
48
+ - vendor/assets/stylesheets/smart_tag/jquery.tagit.css
32
49
  homepage: https://github.com/tuliang/smart_tag
33
50
  licenses: []
34
51
  post_install_message:
data/bin/smart_tag DELETED
@@ -1,2 +0,0 @@
1
- require "smart_tag"
2
- SmartTag.create_tag(ARGV[0], ARGV[1])