hello_bar 0.0.1
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.
- data/.gitignore +8 -0
- data/.travis.yml +5 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +124 -0
- data/README.md +63 -0
- data/Rakefile +11 -0
- data/app/assets/images/close_small.png +0 -0
- data/app/assets/javascripts/util.announcements.js +59 -0
- data/app/assets/stylesheets/announcements.css +25 -0
- data/app/controllers/announcements_controller.rb +25 -0
- data/app/helpers/announcements_helper.rb +5 -0
- data/app/models/announcement.rb +16 -0
- data/app/views/announcements/_index.html.erb +20 -0
- data/hello_bar.gemspec +24 -0
- data/lib/generators/hello_bar/hello_bar_generator.rb +39 -0
- data/lib/generators/hello_bar/templates/migration.rb +12 -0
- data/lib/hello_bar.rb +6 -0
- data/lib/hello_bar/version.rb +3 -0
- data/spec/fake_app.rb +30 -0
- data/spec/models/announcement_spec.rb +23 -0
- data/spec/spec_helper.rb +24 -0
- metadata +171 -0
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
hello_bar (0.0.1)
|
5
|
+
date_validator
|
6
|
+
rails (~> 3.0)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: http://rubygems.org/
|
10
|
+
specs:
|
11
|
+
actionmailer (3.2.9)
|
12
|
+
actionpack (= 3.2.9)
|
13
|
+
mail (~> 2.4.4)
|
14
|
+
actionpack (3.2.9)
|
15
|
+
activemodel (= 3.2.9)
|
16
|
+
activesupport (= 3.2.9)
|
17
|
+
builder (~> 3.0.0)
|
18
|
+
erubis (~> 2.7.0)
|
19
|
+
journey (~> 1.0.4)
|
20
|
+
rack (~> 1.4.0)
|
21
|
+
rack-cache (~> 1.2)
|
22
|
+
rack-test (~> 0.6.1)
|
23
|
+
sprockets (~> 2.2.1)
|
24
|
+
activemodel (3.2.9)
|
25
|
+
activesupport (= 3.2.9)
|
26
|
+
builder (~> 3.0.0)
|
27
|
+
activerecord (3.2.9)
|
28
|
+
activemodel (= 3.2.9)
|
29
|
+
activesupport (= 3.2.9)
|
30
|
+
arel (~> 3.0.2)
|
31
|
+
tzinfo (~> 0.3.29)
|
32
|
+
activeresource (3.2.9)
|
33
|
+
activemodel (= 3.2.9)
|
34
|
+
activesupport (= 3.2.9)
|
35
|
+
activesupport (3.2.9)
|
36
|
+
i18n (~> 0.6)
|
37
|
+
multi_json (~> 1.0)
|
38
|
+
arel (3.0.2)
|
39
|
+
builder (3.0.4)
|
40
|
+
columnize (0.3.6)
|
41
|
+
date_validator (0.6.3)
|
42
|
+
activemodel (~> 3.0)
|
43
|
+
debugger (1.2.2)
|
44
|
+
columnize (>= 0.3.1)
|
45
|
+
debugger-linecache (~> 1.1.1)
|
46
|
+
debugger-ruby_core_source (~> 1.1.5)
|
47
|
+
debugger-linecache (1.1.2)
|
48
|
+
debugger-ruby_core_source (>= 1.1.1)
|
49
|
+
debugger-ruby_core_source (1.1.5)
|
50
|
+
diff-lcs (1.1.3)
|
51
|
+
erubis (2.7.0)
|
52
|
+
hike (1.2.1)
|
53
|
+
i18n (0.6.1)
|
54
|
+
journey (1.0.4)
|
55
|
+
json (1.7.5)
|
56
|
+
mail (2.4.4)
|
57
|
+
i18n (>= 0.4.0)
|
58
|
+
mime-types (~> 1.16)
|
59
|
+
treetop (~> 1.4.8)
|
60
|
+
mime-types (1.19)
|
61
|
+
multi_json (1.3.7)
|
62
|
+
polyglot (0.3.3)
|
63
|
+
rack (1.4.1)
|
64
|
+
rack-cache (1.2)
|
65
|
+
rack (>= 0.4)
|
66
|
+
rack-ssl (1.3.2)
|
67
|
+
rack
|
68
|
+
rack-test (0.6.2)
|
69
|
+
rack (>= 1.0)
|
70
|
+
rails (3.2.9)
|
71
|
+
actionmailer (= 3.2.9)
|
72
|
+
actionpack (= 3.2.9)
|
73
|
+
activerecord (= 3.2.9)
|
74
|
+
activeresource (= 3.2.9)
|
75
|
+
activesupport (= 3.2.9)
|
76
|
+
bundler (~> 1.0)
|
77
|
+
railties (= 3.2.9)
|
78
|
+
railties (3.2.9)
|
79
|
+
actionpack (= 3.2.9)
|
80
|
+
activesupport (= 3.2.9)
|
81
|
+
rack-ssl (~> 1.3.2)
|
82
|
+
rake (>= 0.8.7)
|
83
|
+
rdoc (~> 3.4)
|
84
|
+
thor (>= 0.14.6, < 2.0)
|
85
|
+
rake (10.0.2)
|
86
|
+
rdoc (3.12)
|
87
|
+
json (~> 1.4)
|
88
|
+
rspec (2.12.0)
|
89
|
+
rspec-core (~> 2.12.0)
|
90
|
+
rspec-expectations (~> 2.12.0)
|
91
|
+
rspec-mocks (~> 2.12.0)
|
92
|
+
rspec-core (2.12.0)
|
93
|
+
rspec-expectations (2.12.0)
|
94
|
+
diff-lcs (~> 1.1.3)
|
95
|
+
rspec-mocks (2.12.0)
|
96
|
+
rspec-rails (2.12.0)
|
97
|
+
actionpack (>= 3.0)
|
98
|
+
activesupport (>= 3.0)
|
99
|
+
railties (>= 3.0)
|
100
|
+
rspec-core (~> 2.12.0)
|
101
|
+
rspec-expectations (~> 2.12.0)
|
102
|
+
rspec-mocks (~> 2.12.0)
|
103
|
+
sprockets (2.2.2)
|
104
|
+
hike (~> 1.2)
|
105
|
+
multi_json (~> 1.0)
|
106
|
+
rack (~> 1.0)
|
107
|
+
tilt (~> 1.1, != 1.3.0)
|
108
|
+
sqlite3 (1.3.6)
|
109
|
+
thor (0.16.0)
|
110
|
+
tilt (1.3.3)
|
111
|
+
treetop (1.4.12)
|
112
|
+
polyglot
|
113
|
+
polyglot (>= 0.3.1)
|
114
|
+
tzinfo (0.3.35)
|
115
|
+
|
116
|
+
PLATFORMS
|
117
|
+
ruby
|
118
|
+
|
119
|
+
DEPENDENCIES
|
120
|
+
debugger
|
121
|
+
hello_bar!
|
122
|
+
rspec
|
123
|
+
rspec-rails
|
124
|
+
sqlite3
|
data/README.md
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
# HelloBar
|
2
|
+
|
3
|
+
Announcement plugin to include 'hello bar' into your app, for Ruby on Rails. Based on paul_revere.
|
4
|
+
|
5
|
+
Install with the asset pipeline (Rails 3.1+, asset pipeline enabled)
|
6
|
+
--------------------------------------------------------------------
|
7
|
+
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'hello_bar'
|
12
|
+
```
|
13
|
+
|
14
|
+
Execute:
|
15
|
+
|
16
|
+
```sh
|
17
|
+
$ bundle
|
18
|
+
```
|
19
|
+
|
20
|
+
Run the generator to create the migration and routes:
|
21
|
+
|
22
|
+
```sh
|
23
|
+
rails generate hello_bar
|
24
|
+
```
|
25
|
+
|
26
|
+
Add the default announcement CSS to `app/assets/stylesheets/application.css`:
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
//= require announcements
|
30
|
+
```
|
31
|
+
|
32
|
+
Add the helper to `app/views/layouts/application.html.erb`:
|
33
|
+
|
34
|
+
```ruby
|
35
|
+
<%= hello_bar %>
|
36
|
+
```
|
37
|
+
|
38
|
+
Run the migration:
|
39
|
+
|
40
|
+
```sh
|
41
|
+
rake db:migrate
|
42
|
+
```
|
43
|
+
|
44
|
+
## Usage
|
45
|
+
|
46
|
+
HelloBar provides...
|
47
|
+
|
48
|
+
* A model called `Announcement`, which has columns:
|
49
|
+
* message (text column)
|
50
|
+
* link (string columns, mandtory)
|
51
|
+
* starts_at and ends_at (datetime columns, mandatory)
|
52
|
+
You can use method "current" announcement.
|
53
|
+
|
54
|
+
* A helper called `#hello_bar`, which will return current announcement.
|
55
|
+
* Tracking into Google Analytics event
|
56
|
+
|
57
|
+
## Contributing
|
58
|
+
|
59
|
+
1. Fork it
|
60
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
61
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
62
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
63
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
Binary file
|
@@ -0,0 +1,59 @@
|
|
1
|
+
(function() {
|
2
|
+
|
3
|
+
if (window.module == null) {
|
4
|
+
window.module = function(name, fn) {
|
5
|
+
if (!(this[name] != null)) {
|
6
|
+
this[name] = {};
|
7
|
+
}
|
8
|
+
if (!(this[name].module != null)) {
|
9
|
+
this[name].module = window.module;
|
10
|
+
}
|
11
|
+
return fn.apply(this[name], []);
|
12
|
+
};
|
13
|
+
}
|
14
|
+
|
15
|
+
}).call(this);
|
16
|
+
(function() {
|
17
|
+
var $,
|
18
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
19
|
+
|
20
|
+
$ = jQuery;
|
21
|
+
|
22
|
+
this.module('Util', function() {
|
23
|
+
return this.Announcement = (function() {
|
24
|
+
|
25
|
+
function Announcement(opt) {
|
26
|
+
this.opt = opt;
|
27
|
+
this.registerLink = __bind(this.registerLink, this);
|
28
|
+
|
29
|
+
if (!this.opt) {
|
30
|
+
this.opt = {};
|
31
|
+
}
|
32
|
+
this.close_link = $(this.opt['close_link']);
|
33
|
+
this.open_link = $(this.opt['open_link']);
|
34
|
+
this.link = this.close_link.attr('href');
|
35
|
+
}
|
36
|
+
|
37
|
+
Announcement.prototype.registerLink = function() {
|
38
|
+
var _this = this;
|
39
|
+
this.close_link.bind("ajax:success", function(data, response, status) {
|
40
|
+
$(this).parent().slideUp(280);
|
41
|
+
return false;
|
42
|
+
}).bind("ajax:error", function(data, xhr) {
|
43
|
+
return true;
|
44
|
+
});
|
45
|
+
|
46
|
+
this.open_link.on("click",function(){
|
47
|
+
if(typeof(_gaq_) !== 'undefined'){
|
48
|
+
_gaq.push(['_trackEvent','Announcement','show']);
|
49
|
+
}
|
50
|
+
return true;
|
51
|
+
});
|
52
|
+
};
|
53
|
+
|
54
|
+
return Announcement;
|
55
|
+
|
56
|
+
})();
|
57
|
+
});
|
58
|
+
|
59
|
+
}).call(this);
|
@@ -0,0 +1,25 @@
|
|
1
|
+
.announcement {
|
2
|
+
display: block;
|
3
|
+
font-size: 14px;
|
4
|
+
font-weight: normal;
|
5
|
+
z-index: 10;
|
6
|
+
width: 100%;
|
7
|
+
background-color: #FFF9D7;
|
8
|
+
border-bottom: solid 1px #868686;
|
9
|
+
color: #00213F;
|
10
|
+
padding: 10px 0;
|
11
|
+
text-align: center;
|
12
|
+
}
|
13
|
+
.announcement a {
|
14
|
+
font-size: 12px;
|
15
|
+
margin-left: 5px;
|
16
|
+
color: #6E5910;
|
17
|
+
text-decoration: blink;
|
18
|
+
}
|
19
|
+
.announcement .close{
|
20
|
+
height: 25px;
|
21
|
+
width: 25px;
|
22
|
+
margin: -4px 10px 1px 0;
|
23
|
+
float: right;
|
24
|
+
background-image: url('/assets/close_small.png');
|
25
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class AnnouncementsController < ApplicationController
|
2
|
+
|
3
|
+
before_filter :hidden_announcement_ids
|
4
|
+
|
5
|
+
def hide
|
6
|
+
respond_to do |format|
|
7
|
+
format.html { redirect_to :back }
|
8
|
+
format.js { render json: nil, status: :ok }
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def show
|
13
|
+
@announcement = Announcement.find(params[:id])
|
14
|
+
return redirect_to @announcement.link unless @announcement.link.blank?
|
15
|
+
redirect_to :back
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def hidden_announcement_ids
|
21
|
+
ids = [params[:id], *cookies.signed[:hidden_announcement_ids]]
|
22
|
+
cookies.permanent.signed[:hidden_announcement_ids] = ids
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "date_validator"
|
2
|
+
|
3
|
+
class Announcement < ActiveRecord::Base
|
4
|
+
attr_accessible :starts_at, :ends_at, :message, :link
|
5
|
+
|
6
|
+
validates :link, :format => URI::regexp(%w(http https))
|
7
|
+
validates :starts_at, :date => { :after => lambda { |*ignores| Time.current } }, :allow_blank => true
|
8
|
+
validates :ends_at, :date => { :after => :starts_at }, :allow_blank => true
|
9
|
+
|
10
|
+
def self.current(hidden_ids = nil)
|
11
|
+
result = where("(starts_at <= :now and ends_at >= :now) OR starts_at IS :null", now: Time.current, null: nil)
|
12
|
+
result = result.where("id not in (?)", hidden_ids) if hidden_ids.present?
|
13
|
+
result
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<% Announcement.current(cookies.signed[:hidden_announcement_ids]).each do |announcement| %>
|
2
|
+
<%= div_for announcement do %>
|
3
|
+
<b>Latest:</b>
|
4
|
+
<%= link_to(announcement.message, show_announcement_path(announcement), class: :open) unless announcement.link.blank? %>
|
5
|
+
<%= announcement.message if announcement.link.blank? %>
|
6
|
+
<%= link_to "", hide_announcement_path(announcement), data: {remote: true}, class: "close new-icons-close_small" %>
|
7
|
+
<% end %>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<%= javascript_include_tag 'util.announcements' %>
|
11
|
+
<script type="text/javascript">
|
12
|
+
$(function() {
|
13
|
+
var announcement = new Util.Announcement({
|
14
|
+
close_link: ".announcement .close",
|
15
|
+
open_link: ".announcement .open"
|
16
|
+
});
|
17
|
+
announcement.registerLink();
|
18
|
+
});
|
19
|
+
</script>
|
20
|
+
|
data/hello_bar.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/hello_bar/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Adam Martinik"]
|
6
|
+
gem.email = ["a.martinik@gmail.com"]
|
7
|
+
gem.description = %q{}
|
8
|
+
gem.summary = %q{Announcement plugin to include 'hello bar' for Ruby on Rails. Based on paul_revere.}
|
9
|
+
gem.homepage = "https://github.com/14113/hello_bar"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "hello_bar"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = HelloBar::VERSION
|
17
|
+
|
18
|
+
gem.add_dependency("rails", "~> 3.0")
|
19
|
+
gem.add_dependency("date_validator")
|
20
|
+
gem.add_development_dependency("rspec")
|
21
|
+
gem.add_development_dependency("rspec-rails")
|
22
|
+
gem.add_development_dependency("sqlite3")
|
23
|
+
gem.add_development_dependency("debugger")
|
24
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'rails/generators/active_record/migration'
|
2
|
+
|
3
|
+
class HelloBarGenerator < Rails::Generators::Base
|
4
|
+
include Rails::Generators::Migration
|
5
|
+
extend ActiveRecord::Generators::Migration
|
6
|
+
|
7
|
+
desc "Put routes and migration in place"
|
8
|
+
source_root File.join(File.dirname(__FILE__), "templates")
|
9
|
+
|
10
|
+
def install
|
11
|
+
create_routes
|
12
|
+
begin
|
13
|
+
migration_template "migration.rb", "db/migrate/create_announcements.rb"
|
14
|
+
rescue
|
15
|
+
end
|
16
|
+
default_data
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def default_data
|
22
|
+
announcement = Announcement.new({
|
23
|
+
starts_at: 1.day.ago,
|
24
|
+
ends_at: 1.day.from_now,
|
25
|
+
message: "My first announcement about github.com",
|
26
|
+
link: "http://github.com"
|
27
|
+
})
|
28
|
+
announcement.save!( :validate => false )
|
29
|
+
end
|
30
|
+
|
31
|
+
def create_routes
|
32
|
+
routes = File.open(Rails.root.join("config/routes.rb")).try :read
|
33
|
+
gsub_file "config/routes.rb", /match "announcements\/:id\/hide", to: "announcements#hide", as: "hide_announcement"/, ''
|
34
|
+
gsub_file "config/routes.rb", /match "announcements\/:id\/show", to: "announcements#show", as: "show_announcement"/, ''
|
35
|
+
route("match 'announcements/:id/hide', to: 'announcements#hide', as: 'hide_announcement'")
|
36
|
+
route("match 'announcements/:id/show', to: 'announcements#show', as: 'show_announcement'")
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
data/lib/hello_bar.rb
ADDED
data/spec/fake_app.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# Create a rails app
|
2
|
+
module HelloBar
|
3
|
+
class Application < Rails::Application
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
# Run migrations
|
8
|
+
project_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
9
|
+
require File.join project_root, 'lib', 'generators', 'hello_bar', 'templates', 'migration.rb'
|
10
|
+
|
11
|
+
ActiveRecord::Base.establish_connection(
|
12
|
+
:adapter => "sqlite3",
|
13
|
+
:database => ":memory:"
|
14
|
+
)
|
15
|
+
|
16
|
+
ActiveSupport.on_load(:active_record) do
|
17
|
+
attr_accessible(nil)
|
18
|
+
end
|
19
|
+
|
20
|
+
CreateAnnouncements.suppress_messages { CreateAnnouncements.up }
|
21
|
+
|
22
|
+
ActiveRecord::Migration.create_table :announcements do |t|
|
23
|
+
t.text :message
|
24
|
+
t.datetime :starts_at
|
25
|
+
t.datetime :ends_at
|
26
|
+
t.string :link
|
27
|
+
|
28
|
+
t.timestamps
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'app', 'models', 'announcement')
|
4
|
+
|
5
|
+
describe Announcement do
|
6
|
+
it "has current scope" do
|
7
|
+
passed = create_announcement starts_at: 1.day.ago, ends_at: 1.hour.ago
|
8
|
+
current = create_announcement starts_at: 1.hour.ago, ends_at: 1.day.from_now
|
9
|
+
stable = create_announcement starts_at: nil, ends_at: nil
|
10
|
+
upcoming = create_announcement starts_at: 1.hour.from_now, ends_at: 1.day.from_now
|
11
|
+
Announcement.current.should eq([current,stable])
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_announcement(attributes)
|
15
|
+
announcement = Announcement.new
|
16
|
+
attributes.each do |key, value|
|
17
|
+
announcement.send("#{key}=", value)
|
18
|
+
end
|
19
|
+
announcement.save!( :validate => false )
|
20
|
+
announcement
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Configure Rails Envinronment
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
3
|
+
|
4
|
+
require "rails/all"
|
5
|
+
require "rspec/rails"
|
6
|
+
require "date_validator"
|
7
|
+
|
8
|
+
# Pull in the fake rails app
|
9
|
+
require 'fake_app'
|
10
|
+
|
11
|
+
# Load support files
|
12
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
13
|
+
|
14
|
+
RSpec.configure do |config|
|
15
|
+
# Remove this line if you don't want RSpec's should and should_not
|
16
|
+
# methods or matchers
|
17
|
+
require 'rspec/expectations'
|
18
|
+
config.include RSpec::Matchers
|
19
|
+
|
20
|
+
# Remove announcements before each example
|
21
|
+
config.before(:each) do
|
22
|
+
Announcement.delete_all
|
23
|
+
end
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,171 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hello_bar
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Adam Martinik
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-12-22 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.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: '3.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: date_validator
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rspec-rails
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: sqlite3
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: debugger
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
description: ''
|
111
|
+
email:
|
112
|
+
- a.martinik@gmail.com
|
113
|
+
executables: []
|
114
|
+
extensions: []
|
115
|
+
extra_rdoc_files: []
|
116
|
+
files:
|
117
|
+
- .gitignore
|
118
|
+
- .travis.yml
|
119
|
+
- Gemfile
|
120
|
+
- Gemfile.lock
|
121
|
+
- README.md
|
122
|
+
- Rakefile
|
123
|
+
- app/assets/images/close_small.png
|
124
|
+
- app/assets/javascripts/util.announcements.js
|
125
|
+
- app/assets/stylesheets/announcements.css
|
126
|
+
- app/controllers/announcements_controller.rb
|
127
|
+
- app/helpers/announcements_helper.rb
|
128
|
+
- app/models/announcement.rb
|
129
|
+
- app/views/announcements/_index.html.erb
|
130
|
+
- hello_bar.gemspec
|
131
|
+
- lib/generators/hello_bar/hello_bar_generator.rb
|
132
|
+
- lib/generators/hello_bar/templates/migration.rb
|
133
|
+
- lib/hello_bar.rb
|
134
|
+
- lib/hello_bar/version.rb
|
135
|
+
- spec/fake_app.rb
|
136
|
+
- spec/models/announcement_spec.rb
|
137
|
+
- spec/spec_helper.rb
|
138
|
+
homepage: https://github.com/14113/hello_bar
|
139
|
+
licenses: []
|
140
|
+
post_install_message:
|
141
|
+
rdoc_options: []
|
142
|
+
require_paths:
|
143
|
+
- lib
|
144
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
segments:
|
151
|
+
- 0
|
152
|
+
hash: -2869555147129676713
|
153
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ! '>='
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
segments:
|
160
|
+
- 0
|
161
|
+
hash: -2869555147129676713
|
162
|
+
requirements: []
|
163
|
+
rubyforge_project:
|
164
|
+
rubygems_version: 1.8.24
|
165
|
+
signing_key:
|
166
|
+
specification_version: 3
|
167
|
+
summary: Announcement plugin to include 'hello bar' for Ruby on Rails. Based on paul_revere.
|
168
|
+
test_files:
|
169
|
+
- spec/fake_app.rb
|
170
|
+
- spec/models/announcement_spec.rb
|
171
|
+
- spec/spec_helper.rb
|