simple_hashtag_2 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +191 -0
  7. data/Rakefile +6 -0
  8. data/lib/generators/simple_hashtag/migration_generator.rb +20 -0
  9. data/lib/generators/simple_hashtag/templates/migrations/create_hashtaggings_migration.rb +11 -0
  10. data/lib/generators/simple_hashtag/templates/migrations/create_hashtags_migration.rb +10 -0
  11. data/lib/generators/simple_hashtag/templates/views/hashtags_controller.rb +12 -0
  12. data/lib/generators/simple_hashtag/templates/views/hashtags_helper.rb +16 -0
  13. data/lib/generators/simple_hashtag/templates/views/hashtags_index.html.erb +6 -0
  14. data/lib/generators/simple_hashtag/templates/views/hashtags_show.html.erb +8 -0
  15. data/lib/generators/simple_hashtag/views_generator.rb +18 -0
  16. data/lib/simple_hashtag/hashtag.rb +64 -0
  17. data/lib/simple_hashtag/hashtaggable.rb +45 -0
  18. data/lib/simple_hashtag/hashtagging.rb +8 -0
  19. data/lib/simple_hashtag/version.rb +3 -0
  20. data/lib/simple_hashtag.rb +6 -0
  21. data/simple_hashtag.gemspec +29 -0
  22. data/spec/dummy/README.rdoc +261 -0
  23. data/spec/dummy/Rakefile +7 -0
  24. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  25. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  26. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  27. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  28. data/spec/dummy/app/mailers/.gitkeep +0 -0
  29. data/spec/dummy/app/models/.gitkeep +0 -0
  30. data/spec/dummy/app/models/picture.rb +5 -0
  31. data/spec/dummy/app/models/post.rb +4 -0
  32. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  33. data/spec/dummy/config/application.rb +56 -0
  34. data/spec/dummy/config/boot.rb +10 -0
  35. data/spec/dummy/config/database.yml +25 -0
  36. data/spec/dummy/config/environment.rb +5 -0
  37. data/spec/dummy/config/environments/development.rb +37 -0
  38. data/spec/dummy/config/environments/production.rb +67 -0
  39. data/spec/dummy/config/environments/test.rb +37 -0
  40. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  41. data/spec/dummy/config/initializers/inflections.rb +15 -0
  42. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  43. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  44. data/spec/dummy/config/initializers/session_store.rb +8 -0
  45. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  46. data/spec/dummy/config/locales/en.yml +5 -0
  47. data/spec/dummy/config/routes.rb +2 -0
  48. data/spec/dummy/config.ru +4 -0
  49. data/spec/dummy/db/migrate/20130919041824_create_posts.rb +9 -0
  50. data/spec/dummy/db/migrate/20130919041825_create_pictures.rb +9 -0
  51. data/spec/dummy/db/migrate/20131004085836_create_simple_hashtag_hashtags.rb +9 -0
  52. data/spec/dummy/db/migrate/20131004085907_create_simple_hashtag_hashtaggings.rb +10 -0
  53. data/spec/dummy/db/schema.rb +43 -0
  54. data/spec/dummy/lib/assets/.gitkeep +0 -0
  55. data/spec/dummy/log/.gitkeep +0 -0
  56. data/spec/dummy/public/404.html +26 -0
  57. data/spec/dummy/public/422.html +26 -0
  58. data/spec/dummy/public/500.html +25 -0
  59. data/spec/dummy/public/favicon.ico +0 -0
  60. data/spec/dummy/script/rails +6 -0
  61. data/spec/simple_hashtag_spec.rb +145 -0
  62. data/spec/spec_helper.rb +13 -0
  63. metadata +231 -0
@@ -0,0 +1,9 @@
1
+ class CreatePosts < ActiveRecord::Migration
2
+ def change
3
+ create_table :posts do |t|
4
+ t.text :body
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class CreatePictures < ActiveRecord::Migration
2
+ def change
3
+ create_table :pictures do |t|
4
+ t.text :caption
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class CreateSimpleHashtagHashtags < ActiveRecord::Migration
2
+ def change
3
+ create_table :simple_hashtag_hashtags do |t|
4
+ t.string :name, :index => true
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class CreateSimpleHashtagHashtaggings < ActiveRecord::Migration
2
+ def change
3
+ create_table :simple_hashtag_hashtaggings do |t|
4
+ t.references :hashtag, :index => true
5
+ t.references :hashtaggable, :polymorphic => true
6
+ end
7
+ add_index :simple_hashtag_hashtaggings, ["hashtaggable_id", "hashtaggable_type"],
8
+ :name => 'index_hashtaggings_hashtaggable_id_hashtaggable_type'
9
+ end
10
+ end
@@ -0,0 +1,43 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 20131004085907) do
15
+
16
+ create_table "pictures", force: true do |t|
17
+ t.text "caption"
18
+ t.datetime "created_at"
19
+ t.datetime "updated_at"
20
+ end
21
+
22
+ create_table "posts", force: true do |t|
23
+ t.text "body"
24
+ t.datetime "created_at"
25
+ t.datetime "updated_at"
26
+ end
27
+
28
+ create_table "simple_hashtag_hashtaggings", force: true do |t|
29
+ t.integer "hashtag_id"
30
+ t.integer "hashtaggable_id"
31
+ t.string "hashtaggable_type"
32
+ end
33
+
34
+ add_index "simple_hashtag_hashtaggings", ["hashtag_id"], name: "index_simple_hashtag_hashtaggings_on_hashtag_id"
35
+ add_index "simple_hashtag_hashtaggings", ["hashtaggable_id", "hashtaggable_type"], name: "index_hashtaggings_hashtaggable_id_hashtaggable_type"
36
+
37
+ create_table "simple_hashtag_hashtags", force: true do |t|
38
+ t.string "name"
39
+ t.datetime "created_at"
40
+ t.datetime "updated_at"
41
+ end
42
+
43
+ end
File without changes
File without changes
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,145 @@
1
+ require 'spec_helper'
2
+
3
+ describe SimpleHashtag do
4
+
5
+ describe ".hashtag" do
6
+ context "regex" do
7
+ it "match valid hashtags" do
8
+ text = "#It is a dangerous business, #Frodo, going out your door."
9
+ text += "You step onto #the-road,"
10
+ text += "and if you don't keep #your_feet,"
11
+ text += "there's no #know1ng where you might be swept off to."
12
+ match = Post.new().scan_for_hashtags(text)
13
+ match.should eq [["#It", "It"], ["#Frodo", "Frodo"], ["#the-road", "the-road"], ["#your_feet", "your_feet"], ["#know1ng", "know1ng"]]
14
+ end
15
+
16
+ it "doesn't match things that look like hashtags but are not" do
17
+ text = "And some things that should not # have been forgotten were lost."
18
+ text += "History became legend#. Legend became myth."
19
+ text += "And for #2500 years, the ring passed out of all knowledge."
20
+ match = Post.new().scan_for_hashtags(text)
21
+ match.should eq []
22
+ end
23
+ end
24
+
25
+ it "returns a string when asked to" do
26
+ tag = SimpleHashtag::Hashtag.new(name: "RubyRocks")
27
+ tag.to_s.should eq "rubyrocks"
28
+ tag.to_s.should be_a(String)
29
+ end
30
+
31
+ it "downcase a parsed tag" do
32
+ tag = SimpleHashtag::Hashtag.new(name: "WEirDcasE")
33
+ tag.name.should eq "weirdcase"
34
+ end
35
+
36
+ it "finds a mis-cased tag" do
37
+ SimpleHashtag::Hashtag.connection.execute("INSERT INTO simple_hashtag_hashtags (name) values ('WEirDcasE')")
38
+ tag = SimpleHashtag::Hashtag.find_by_name("WEIRDCASE")
39
+ tag.should_not eq nil
40
+ tag.should be_a(SimpleHashtag::Hashtag)
41
+ tag.name.should eq "weirdcase"
42
+ end
43
+
44
+ context "knows about its hashtaggables" do
45
+ before do
46
+ Post.create(body: "I thought up an ending for my #book.")
47
+ Picture.create(caption: "Some who have read the #book.")
48
+ end
49
+ it "their numbers" do
50
+ tag = SimpleHashtag::Hashtag.find_by_name("book")
51
+ tag.hashtaggables.size.should eq 2
52
+ tag.hashtaggables.first.body.should eq "I thought up an ending for my #book."
53
+ tag.hashtaggables.last.caption.should eq "Some who have read the #book."
54
+ end
55
+
56
+ it "their types" do
57
+ tag = SimpleHashtag::Hashtag.find_by_name("book")
58
+ tag.hashtagged_types.size.should eq 2
59
+ tag.hashtagged_types.should eq ["Post", "Picture"]
60
+ tag.hashtagged_ids_for_type("Post").should include(Post.last.id)
61
+ tag.hashtagged_ids_for_type("Picture").should include(Picture.last.id)
62
+ end
63
+
64
+ it "with there conditions" do
65
+ tag = SimpleHashtag::Hashtag.find_by_name("book")
66
+ tag.hashtaggables.size.should eq 2
67
+ tag.hashtaggables(:hashtaggable_id => Post.last.id, :hashtaggable_type => 'Post').size.should eq 1
68
+ end
69
+
70
+ end
71
+
72
+ it "is destroyed whith parent" do
73
+ ActiveRecord::Base.subclasses.each(&:delete_all)
74
+ Post.create(body: "Certainty of death, small chance of #success.")
75
+ Post.create(body: "Certainty of death, small chance of #success.")
76
+ p = Post.last
77
+ p.destroy
78
+
79
+ tag = SimpleHashtag::Hashtag.find_by_name("success")
80
+ tag.hashtaggables.size.should eq 1
81
+ tag.hashtaggings.size.should eq 1
82
+ end
83
+
84
+ it "can clean the DB from orphan tags" do
85
+ ActiveRecord::Base.subclasses.each(&:delete_all)
86
+ Post.create(body: "Certainty of death, small #chance of success.")
87
+ p = Post.last
88
+ p.body = "What are we #waiting for?"
89
+ p.save
90
+ SimpleHashtag::Hashtag.clean_orphans
91
+
92
+ SimpleHashtag::Hashtag.all.map(&:name).should_not include "chance"
93
+ end
94
+ end
95
+
96
+ describe ".hashtaggable" do
97
+ it "store a hashtag" do
98
+ Post.create(body: "Don't go where I can't #follow.")
99
+ p = Post.last
100
+ p.hashtags.count.should eq 1
101
+ p.hashtags.last.name.should eq "follow"
102
+ end
103
+
104
+ it "reflect a change" do
105
+ Post.create(body: "Certainty of death, small #chance of success.")
106
+ p = Post.last
107
+ p.body += "What are we #waiting for?"
108
+ p.save
109
+
110
+ p.hashtags.count.should eq 2
111
+ p.hashtags.last.name.should eq "waiting"
112
+ end
113
+
114
+ it "can have an empty attribute" do
115
+ Post.create()
116
+ end
117
+
118
+ it "can have multiple hashtags" do
119
+ Post.create(body: "The grey #rain-curtain of this world rolls back, and all turns to #silver glass, and then you #see it.")
120
+ p = Post.last
121
+
122
+ p.hashtags.count.should eq 3
123
+ p.hashtags.map(&:to_s).should eq ["rain-curtain", "silver", "see"]
124
+ end
125
+
126
+ it "handles a model with custom attribute" do
127
+ Picture.create(caption: "The grey #rain-curtain of this world rolls back, and all turns to #silver glass, and then you #see it.")
128
+ p = Picture.last
129
+
130
+ p.hashtags.count.should eq 3
131
+ p.hashtags.map(&:to_s).should eq ["rain-curtain", "silver", "see"]
132
+ end
133
+
134
+ it "doesn't duplicate on mixed case" do
135
+ ActiveRecord::Base.subclasses.each(&:delete_all)
136
+ Post.create(body: "Certainty of death, small #chance of success.")
137
+ Post.create(body: "Certainty of death, small #Chance of success.")
138
+
139
+ SimpleHashtag::Hashtag.count.should eq 1
140
+ h = SimpleHashtag::Hashtag.last
141
+ h.name.should eq "chance"
142
+ h.hashtaggables.count.should eq 2
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,13 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
4
+ require 'rspec/rails'
5
+ require "rails/test_help"
6
+ require 'simple_hashtag'
7
+
8
+ RSpec.configure do |config|
9
+ config.use_transactional_fixtures = true
10
+ config.after :all do
11
+ ActiveRecord::Base.subclasses.each(&:delete_all)
12
+ end
13
+ end
metadata ADDED
@@ -0,0 +1,231 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simple_hashtag_2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Raphael Campardou
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-05-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>'
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>'
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: protected_attributes
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Parse, store retreive and format hashtags in your text.
98
+ email:
99
+ - ralovely@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - .gitignore
105
+ - .rspec
106
+ - Gemfile
107
+ - LICENSE.txt
108
+ - README.md
109
+ - Rakefile
110
+ - lib/generators/simple_hashtag/migration_generator.rb
111
+ - lib/generators/simple_hashtag/templates/migrations/create_hashtaggings_migration.rb
112
+ - lib/generators/simple_hashtag/templates/migrations/create_hashtags_migration.rb
113
+ - lib/generators/simple_hashtag/templates/views/hashtags_controller.rb
114
+ - lib/generators/simple_hashtag/templates/views/hashtags_helper.rb
115
+ - lib/generators/simple_hashtag/templates/views/hashtags_index.html.erb
116
+ - lib/generators/simple_hashtag/templates/views/hashtags_show.html.erb
117
+ - lib/generators/simple_hashtag/views_generator.rb
118
+ - lib/simple_hashtag.rb
119
+ - lib/simple_hashtag/hashtag.rb
120
+ - lib/simple_hashtag/hashtaggable.rb
121
+ - lib/simple_hashtag/hashtagging.rb
122
+ - lib/simple_hashtag/version.rb
123
+ - simple_hashtag.gemspec
124
+ - spec/dummy/README.rdoc
125
+ - spec/dummy/Rakefile
126
+ - spec/dummy/app/assets/javascripts/application.js
127
+ - spec/dummy/app/assets/stylesheets/application.css
128
+ - spec/dummy/app/controllers/application_controller.rb
129
+ - spec/dummy/app/helpers/application_helper.rb
130
+ - spec/dummy/app/mailers/.gitkeep
131
+ - spec/dummy/app/models/.gitkeep
132
+ - spec/dummy/app/models/picture.rb
133
+ - spec/dummy/app/models/post.rb
134
+ - spec/dummy/app/views/layouts/application.html.erb
135
+ - spec/dummy/config.ru
136
+ - spec/dummy/config/application.rb
137
+ - spec/dummy/config/boot.rb
138
+ - spec/dummy/config/database.yml
139
+ - spec/dummy/config/environment.rb
140
+ - spec/dummy/config/environments/development.rb
141
+ - spec/dummy/config/environments/production.rb
142
+ - spec/dummy/config/environments/test.rb
143
+ - spec/dummy/config/initializers/backtrace_silencers.rb
144
+ - spec/dummy/config/initializers/inflections.rb
145
+ - spec/dummy/config/initializers/mime_types.rb
146
+ - spec/dummy/config/initializers/secret_token.rb
147
+ - spec/dummy/config/initializers/session_store.rb
148
+ - spec/dummy/config/initializers/wrap_parameters.rb
149
+ - spec/dummy/config/locales/en.yml
150
+ - spec/dummy/config/routes.rb
151
+ - spec/dummy/db/migrate/20130919041824_create_posts.rb
152
+ - spec/dummy/db/migrate/20130919041825_create_pictures.rb
153
+ - spec/dummy/db/migrate/20131004085836_create_simple_hashtag_hashtags.rb
154
+ - spec/dummy/db/migrate/20131004085907_create_simple_hashtag_hashtaggings.rb
155
+ - spec/dummy/db/schema.rb
156
+ - spec/dummy/lib/assets/.gitkeep
157
+ - spec/dummy/log/.gitkeep
158
+ - spec/dummy/public/404.html
159
+ - spec/dummy/public/422.html
160
+ - spec/dummy/public/500.html
161
+ - spec/dummy/public/favicon.ico
162
+ - spec/dummy/script/rails
163
+ - spec/simple_hashtag_spec.rb
164
+ - spec/spec_helper.rb
165
+ homepage: https://github.com/ralovely/simple_hashtag
166
+ licenses:
167
+ - MIT
168
+ metadata: {}
169
+ post_install_message:
170
+ rdoc_options: []
171
+ require_paths:
172
+ - lib
173
+ required_ruby_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - '>='
176
+ - !ruby/object:Gem::Version
177
+ version: 1.9.3
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - '>='
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ requirements: []
184
+ rubyforge_project:
185
+ rubygems_version: 2.2.2
186
+ signing_key:
187
+ specification_version: 4
188
+ summary: Simple Hashtag is a mix between–well–hashtags as we know them and categories.
189
+ It will scan your Active Record attribute for a tag and store it in an index.
190
+ test_files:
191
+ - spec/dummy/README.rdoc
192
+ - spec/dummy/Rakefile
193
+ - spec/dummy/app/assets/javascripts/application.js
194
+ - spec/dummy/app/assets/stylesheets/application.css
195
+ - spec/dummy/app/controllers/application_controller.rb
196
+ - spec/dummy/app/helpers/application_helper.rb
197
+ - spec/dummy/app/mailers/.gitkeep
198
+ - spec/dummy/app/models/.gitkeep
199
+ - spec/dummy/app/models/picture.rb
200
+ - spec/dummy/app/models/post.rb
201
+ - spec/dummy/app/views/layouts/application.html.erb
202
+ - spec/dummy/config.ru
203
+ - spec/dummy/config/application.rb
204
+ - spec/dummy/config/boot.rb
205
+ - spec/dummy/config/database.yml
206
+ - spec/dummy/config/environment.rb
207
+ - spec/dummy/config/environments/development.rb
208
+ - spec/dummy/config/environments/production.rb
209
+ - spec/dummy/config/environments/test.rb
210
+ - spec/dummy/config/initializers/backtrace_silencers.rb
211
+ - spec/dummy/config/initializers/inflections.rb
212
+ - spec/dummy/config/initializers/mime_types.rb
213
+ - spec/dummy/config/initializers/secret_token.rb
214
+ - spec/dummy/config/initializers/session_store.rb
215
+ - spec/dummy/config/initializers/wrap_parameters.rb
216
+ - spec/dummy/config/locales/en.yml
217
+ - spec/dummy/config/routes.rb
218
+ - spec/dummy/db/migrate/20130919041824_create_posts.rb
219
+ - spec/dummy/db/migrate/20130919041825_create_pictures.rb
220
+ - spec/dummy/db/migrate/20131004085836_create_simple_hashtag_hashtags.rb
221
+ - spec/dummy/db/migrate/20131004085907_create_simple_hashtag_hashtaggings.rb
222
+ - spec/dummy/db/schema.rb
223
+ - spec/dummy/lib/assets/.gitkeep
224
+ - spec/dummy/log/.gitkeep
225
+ - spec/dummy/public/404.html
226
+ - spec/dummy/public/422.html
227
+ - spec/dummy/public/500.html
228
+ - spec/dummy/public/favicon.ico
229
+ - spec/dummy/script/rails
230
+ - spec/simple_hashtag_spec.rb
231
+ - spec/spec_helper.rb