gritter_notices 0.3.1 → 0.3.2
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/.watchr +99 -0
- data/Gemfile +2 -0
- data/README.rdoc +9 -0
- data/VERSION +1 -1
- data/app/models/gritter_notice.rb +1 -1
- data/gritter_notices.gemspec +15 -8
- data/lib/generators/templates/migration.rb +3 -3
- data/lib/gritter_notices/active_record.rb +15 -13
- data/lib/gritter_notices/rspec_matcher.rb +10 -10
- data/lib/gritter_notices/view_helpers.rb +2 -2
- data/spec/gritter_notice_spec.rb +1 -1
- data/spec/{owner_spec.rb → gritter_notices/active_record_spec.rb} +15 -5
- data/spec/{view_helpers_spec.rb → gritter_notices/view_helpers_spec.rb} +11 -6
- data/spec/support/factories.rb +1 -1
- metadata +51 -22
data/.watchr
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
|
2
|
+
# https://github.com/rspec/rspec-rails/blob/master/specs.watchr
|
3
|
+
|
4
|
+
# Other examples:
|
5
|
+
# https://gist.github.com/298168
|
6
|
+
|
7
|
+
# --------------------------------------------------
|
8
|
+
# Convenience Methods
|
9
|
+
# --------------------------------------------------
|
10
|
+
|
11
|
+
def all_spec_files
|
12
|
+
'spec/**/*_spec.rb'
|
13
|
+
end
|
14
|
+
|
15
|
+
def run_spec_matching(thing_to_match)
|
16
|
+
puts "Matching #{thing_to_match}"
|
17
|
+
matches = Dir[all_spec_files].grep(/#{thing_to_match}_spec/i)
|
18
|
+
if matches.empty?
|
19
|
+
puts "Sorry, thanks for playing, but there were no matches for #{thing_to_match}"
|
20
|
+
else
|
21
|
+
run matches.join(' ')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def run(files_to_run)
|
26
|
+
puts "Running #{files_to_run}"
|
27
|
+
system "bundle exec rspec -d #{files_to_run}"
|
28
|
+
no_int_for_you
|
29
|
+
notify
|
30
|
+
puts
|
31
|
+
end
|
32
|
+
|
33
|
+
def notify message=''
|
34
|
+
# message = message.split('---------------------------------------------------------------')[3].split('Time taken by tests')[0]
|
35
|
+
# image = message.include?('fails') ? "~/.watchr_images/failed.png" : "~/.watchr_images/passed.png"
|
36
|
+
|
37
|
+
# Grub images from autotest-growl
|
38
|
+
image = $?.success? ? "~/.watchr_images/passed.png" : "~/.watchr_images/failed.png"
|
39
|
+
message = $?.success? ? "success" : "failed"
|
40
|
+
|
41
|
+
options = "-i #{File.expand_path(image)} "
|
42
|
+
options += '-u critical -t 10000 ' unless $?.success?
|
43
|
+
|
44
|
+
notify_send = `which notify-send`.chomp
|
45
|
+
cmd = "#{notify_send} #{options} 'Watchr Test Results: #{message}'"
|
46
|
+
system cmd
|
47
|
+
end
|
48
|
+
|
49
|
+
def run_all_specs
|
50
|
+
run('spec/') #all_spec_files
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
# def run_suite
|
55
|
+
# system "clear"
|
56
|
+
# run_spec('spec/*/*_spec.rb spec/*/*/*_spec.rb')
|
57
|
+
# end
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
# --------------------------------------------------
|
62
|
+
# Watchr Rules
|
63
|
+
# --------------------------------------------------
|
64
|
+
watch('^app/(.*)\.(.*)') { |m| run_spec_matching(m[1]) }
|
65
|
+
watch('^lib\/(.*)\.rb') { |m| run_spec_matching(m[1]) }
|
66
|
+
watch('^spec\/(.*)_spec\.rb') { |m| run_spec_matching(m[1]) }
|
67
|
+
watch('^spec\/factories/(.*)_factory\.rb') { |m| run_spec_matching(m[1]) }
|
68
|
+
watch('^spec/spec_helper\.rb') { run_all_specs }
|
69
|
+
watch('^spec/support/.*\.rb') { run_all_specs }
|
70
|
+
|
71
|
+
# --------------------------------------------------
|
72
|
+
# Signal Handling
|
73
|
+
# --------------------------------------------------
|
74
|
+
|
75
|
+
def no_int_for_you
|
76
|
+
@sent_an_int = nil
|
77
|
+
end
|
78
|
+
|
79
|
+
# Ctrl-C
|
80
|
+
Signal.trap 'INT' do
|
81
|
+
if @sent_an_int then
|
82
|
+
puts " A second INT? Ok, I get the message. Shutting down now."
|
83
|
+
exit
|
84
|
+
else
|
85
|
+
puts " Did you just send me an INT? Ugh. I'll quit for real if you do it again."
|
86
|
+
@sent_an_int = true
|
87
|
+
Kernel.sleep 1.5
|
88
|
+
run_all_specs
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
# Ctrl-\
|
94
|
+
Signal.trap 'QUIT' do
|
95
|
+
puts " --- Running all tests ---\n\n"
|
96
|
+
run_suite
|
97
|
+
end
|
98
|
+
|
99
|
+
puts "Watching.."
|
data/Gemfile
CHANGED
@@ -10,7 +10,9 @@ gem 'actionpack', "~> 3.0"
|
|
10
10
|
# Add dependencies to develop your gem here.
|
11
11
|
# Include everything needed to run rake, tests, features, etc.
|
12
12
|
group :development, :test do
|
13
|
+
gem 'ruby-debug'
|
13
14
|
gem 'sqlite3'
|
15
|
+
gem 'watchr'
|
14
16
|
gem 'factory_girl'
|
15
17
|
gem 'shoulda'
|
16
18
|
gem "rspec", "~> 2.5.0"
|
data/README.rdoc
CHANGED
@@ -67,6 +67,8 @@
|
|
67
67
|
notice_progress
|
68
68
|
notice_notice # синоним просто `notice`
|
69
69
|
|
70
|
+
Также есть алиас gritter_notice со всеми вышеперечисленными типами сообщений.
|
71
|
+
|
70
72
|
Далее во вьюхе вызываем:
|
71
73
|
|
72
74
|
= gritter_flash_messages
|
@@ -91,6 +93,13 @@
|
|
91
93
|
|
92
94
|
2. Показывать push-сообщения
|
93
95
|
|
96
|
+
== Нечто отдаленно подобное:
|
97
|
+
|
98
|
+
Вместо flash_conductor-а
|
99
|
+
https://github.com/mattpolito/flash-message-conductor
|
100
|
+
https://rubygems.org/gems/glennr-flash-message-conductor
|
101
|
+
https://github.com/QuBiT/universal_flash_messages
|
102
|
+
|
94
103
|
|
95
104
|
== Credits
|
96
105
|
* Robin Brouwer https://github.com/RobinBrouwer/gritter
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.2
|
data/gritter_notices.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{gritter_notices}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Danil Pismenny"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-04-01}
|
13
13
|
s.description = %q{Provide `notice` method to user model to save notices and to shows them later in views with Gritter (growl-like jQuery plugin). Fully support of Rails flash messages also. Helpful to send flash messages from background jobs.}
|
14
14
|
s.email = %q{danil@orionet.ru}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
+
".watchr",
|
20
21
|
"Gemfile",
|
21
22
|
"LICENSE.txt",
|
22
23
|
"README.rdoc",
|
@@ -32,12 +33,12 @@ Gem::Specification.new do |s|
|
|
32
33
|
"lib/gritter_notices/rspec_matcher.rb",
|
33
34
|
"lib/gritter_notices/view_helpers.rb",
|
34
35
|
"spec/gritter_notice_spec.rb",
|
35
|
-
"spec/
|
36
|
+
"spec/gritter_notices/active_record_spec.rb",
|
37
|
+
"spec/gritter_notices/view_helpers_spec.rb",
|
36
38
|
"spec/spec_helper.rb",
|
37
39
|
"spec/support/factories.rb",
|
38
40
|
"spec/support/migration.rb",
|
39
|
-
"spec/support/user.rb"
|
40
|
-
"spec/view_helpers_spec.rb"
|
41
|
+
"spec/support/user.rb"
|
41
42
|
]
|
42
43
|
s.homepage = %q{http://github.com/dapi/gritter_notices}
|
43
44
|
s.licenses = ["MIT"]
|
@@ -46,12 +47,12 @@ Gem::Specification.new do |s|
|
|
46
47
|
s.summary = %q{Show growl-like flashes and saved user's notices with Gritter}
|
47
48
|
s.test_files = [
|
48
49
|
"spec/gritter_notice_spec.rb",
|
49
|
-
"spec/
|
50
|
+
"spec/gritter_notices/active_record_spec.rb",
|
51
|
+
"spec/gritter_notices/view_helpers_spec.rb",
|
50
52
|
"spec/spec_helper.rb",
|
51
53
|
"spec/support/factories.rb",
|
52
54
|
"spec/support/migration.rb",
|
53
|
-
"spec/support/user.rb"
|
54
|
-
"spec/view_helpers_spec.rb"
|
55
|
+
"spec/support/user.rb"
|
55
56
|
]
|
56
57
|
|
57
58
|
if s.respond_to? :specification_version then
|
@@ -61,7 +62,9 @@ Gem::Specification.new do |s|
|
|
61
62
|
s.add_runtime_dependency(%q<gritter>, [">= 0"])
|
62
63
|
s.add_runtime_dependency(%q<activerecord>, ["~> 3.0"])
|
63
64
|
s.add_runtime_dependency(%q<actionpack>, ["~> 3.0"])
|
65
|
+
s.add_development_dependency(%q<ruby-debug>, [">= 0"])
|
64
66
|
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
67
|
+
s.add_development_dependency(%q<watchr>, [">= 0"])
|
65
68
|
s.add_development_dependency(%q<factory_girl>, [">= 0"])
|
66
69
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
67
70
|
s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
|
@@ -74,7 +77,9 @@ Gem::Specification.new do |s|
|
|
74
77
|
s.add_dependency(%q<gritter>, [">= 0"])
|
75
78
|
s.add_dependency(%q<activerecord>, ["~> 3.0"])
|
76
79
|
s.add_dependency(%q<actionpack>, ["~> 3.0"])
|
80
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
77
81
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
82
|
+
s.add_dependency(%q<watchr>, [">= 0"])
|
78
83
|
s.add_dependency(%q<factory_girl>, [">= 0"])
|
79
84
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
80
85
|
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
@@ -88,7 +93,9 @@ Gem::Specification.new do |s|
|
|
88
93
|
s.add_dependency(%q<gritter>, [">= 0"])
|
89
94
|
s.add_dependency(%q<activerecord>, ["~> 3.0"])
|
90
95
|
s.add_dependency(%q<actionpack>, ["~> 3.0"])
|
96
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
91
97
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
98
|
+
s.add_dependency(%q<watchr>, [">= 0"])
|
92
99
|
s.add_dependency(%q<factory_girl>, [">= 0"])
|
93
100
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
94
101
|
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
@@ -1,9 +1,9 @@
|
|
1
1
|
class CreateGritterNoticesTable < ActiveRecord::Migration
|
2
2
|
def self.up
|
3
3
|
create_table :gritter_notices, :force => true do |t|
|
4
|
-
t.integer :owner_id,
|
5
|
-
t.string
|
6
|
-
t.text :
|
4
|
+
t.integer :owner_id, :null => false
|
5
|
+
t.string :owner_type, :null => false
|
6
|
+
t.text :text, :null => false
|
7
7
|
# t.string :level, :default => "notice", :null => false
|
8
8
|
# t.string :title
|
9
9
|
# t.string :image
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module GritterNotices::ActiveRecord
|
2
2
|
|
3
|
-
ValidMethods = Hash[*GritterNotices::KEYS.map { |key| ["
|
3
|
+
ValidMethods = Hash[*GritterNotices::KEYS.map { |key| ["gritter_notice_#{key}", key] }.flatten]
|
4
4
|
|
5
5
|
# :level => [:success, :warning, :notice, :error, :progress]
|
6
6
|
def has_gritter_notices
|
@@ -13,35 +13,37 @@ module GritterNotices::ActiveRecord
|
|
13
13
|
#
|
14
14
|
# Examples:
|
15
15
|
#
|
16
|
-
# notice :
|
16
|
+
# notice :text=>'asdsad', :image=>:notice
|
17
17
|
# notice 'message', :level=>:success
|
18
18
|
#
|
19
|
-
|
20
|
-
def notice *args
|
19
|
+
def gritter_notice *args
|
21
20
|
options = args.extract_options!
|
22
|
-
|
21
|
+
text = args.first || options[:text]
|
23
22
|
options = {:scope=>:gritter_notices}.merge options
|
24
|
-
if
|
25
|
-
options[:
|
26
|
-
options[:level] =
|
27
|
-
|
23
|
+
if text.is_a? Symbol
|
24
|
+
options[:gritter_key] = text
|
25
|
+
options[:level] = text unless options[:level]
|
26
|
+
text = options[:text] || I18n::translate(text, options)
|
28
27
|
end
|
29
28
|
options[:level]=:notice unless options[:level]
|
30
|
-
gritter_notices.create! :
|
29
|
+
gritter_notices.create! :text=>text, :options=>options
|
31
30
|
end
|
32
31
|
|
32
|
+
alias_method :notice, :gritter_notice
|
33
|
+
|
34
|
+
#
|
33
35
|
# notice_success
|
34
36
|
# notice_error
|
35
37
|
# notice_warning
|
36
38
|
# notice_progress
|
37
39
|
# notice_notice - default. An alias for `notice`
|
38
|
-
|
40
|
+
#
|
39
41
|
def method_missing(method_name, *args, &block)
|
40
|
-
if level = ValidMethods[method_name]
|
42
|
+
if level = ValidMethods[method_name.to_s] or level = ValidMethods["gritter_#{method_name}"]
|
41
43
|
options = args.extract_options!
|
42
44
|
options[:level] = level
|
43
45
|
args << options
|
44
|
-
|
46
|
+
gritter_notice *args
|
45
47
|
else
|
46
48
|
super(method_name, *args, &block)
|
47
49
|
end
|
@@ -1,24 +1,24 @@
|
|
1
1
|
module GritterNotices
|
2
2
|
module RSpecMatcher
|
3
|
-
def have_gritter_notice(
|
4
|
-
HaveGritterNotice.new(
|
3
|
+
def have_gritter_notice(text=nil)
|
4
|
+
HaveGritterNotice.new(text)
|
5
5
|
end
|
6
6
|
|
7
7
|
class HaveGritterNotice
|
8
|
-
def initialize(
|
9
|
-
@
|
8
|
+
def initialize(text)
|
9
|
+
@text = text
|
10
10
|
end
|
11
11
|
|
12
12
|
def description
|
13
|
-
"send gritter notice '#{@
|
13
|
+
"send gritter notice '#{@text}' to '#{@model}"
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
"#{@model.class} should have gritter_notice with
|
16
|
+
def failure_text_for_should
|
17
|
+
"#{@model.class} should have gritter_notice with text '#{@text}'"
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
21
|
-
"#{@model.class} should not have an gritter_notice with
|
20
|
+
def failure_text_for_should_not
|
21
|
+
"#{@model.class} should not have an gritter_notice with text '#{@text}'"
|
22
22
|
end
|
23
23
|
|
24
24
|
# def from(value)
|
@@ -33,7 +33,7 @@ module GritterNotices
|
|
33
33
|
|
34
34
|
def matches?(model)
|
35
35
|
@model = model
|
36
|
-
not model.gritter_notices.select { |g| !@
|
36
|
+
not model.gritter_notices.select { |g| !@text or g.text == @text or g.options[:gritter_key] == @text }.empty?
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -34,7 +34,7 @@ module GritterNotices::ViewHelpers
|
|
34
34
|
gritter_key = GRITTER_CONVERT_KEYS[options[:level]] || GRITTER_CONVERT_KEYS[:other] || options[:level]
|
35
35
|
options[:title] = titles[gritter_key] || options[:level].to_s unless options[:title]
|
36
36
|
options[:image] = gritter_key unless options[:image]
|
37
|
-
gritters << add_gritter(notice.
|
37
|
+
gritters << add_gritter(notice.text, options)
|
38
38
|
notice.mark_as_delivered
|
39
39
|
end
|
40
40
|
end
|
@@ -57,7 +57,7 @@ module GritterNotices::ViewHelpers
|
|
57
57
|
def move_gritter_notices_to_flashes
|
58
58
|
return unless current_user
|
59
59
|
current_user.gritter_notices.fresh.each do |notice|
|
60
|
-
append_flash_message notice.level, notice.
|
60
|
+
append_flash_message notice.level, notice.text
|
61
61
|
notice.mark_as_delivered
|
62
62
|
end
|
63
63
|
end
|
data/spec/gritter_notice_spec.rb
CHANGED
@@ -4,7 +4,7 @@ require 'spec_helper'
|
|
4
4
|
describe GritterNotice do
|
5
5
|
it { should belong_to(:owner) }
|
6
6
|
it { should validate_presence_of(:owner) }
|
7
|
-
it { should validate_presence_of(:
|
7
|
+
it { should validate_presence_of(:text) }
|
8
8
|
it { should be_fresh }
|
9
9
|
it { should_not be_delivered }
|
10
10
|
|
@@ -4,6 +4,7 @@ require 'spec_helper'
|
|
4
4
|
describe User do
|
5
5
|
specify { User.should respond_to(:has_gritter_notices) }
|
6
6
|
it { should have_many(:gritter_notices) }
|
7
|
+
it { should respond_to(:gritter_notice) }
|
7
8
|
|
8
9
|
describe '#notice' do
|
9
10
|
subject { Factory :user }
|
@@ -12,21 +13,21 @@ describe User do
|
|
12
13
|
subject.notice 'some text'
|
13
14
|
subject.should have_gritter_notice('some text')
|
14
15
|
subject.gritter_notices.last.options[:level].should == :notice
|
15
|
-
subject.gritter_notices.last.options[:
|
16
|
+
subject.gritter_notices.last.options[:gritter_key].should == nil
|
16
17
|
end
|
17
18
|
|
18
19
|
it 'gets message with attribute' do
|
19
|
-
subject.notice :
|
20
|
+
subject.notice :text=>'some text2', :level=>:success
|
20
21
|
subject.should have_gritter_notice('some text2')
|
21
|
-
subject.gritter_notices.last.options[:
|
22
|
+
subject.gritter_notices.last.options[:gritter_key].should be_nil
|
22
23
|
subject.gritter_notices.last.options[:level].should == :success
|
23
24
|
end
|
24
25
|
|
25
26
|
it 'gets message with symbol' do
|
26
27
|
subject.notice :warning
|
27
28
|
last = subject.gritter_notices.last
|
28
|
-
last.
|
29
|
-
last.options[:
|
29
|
+
last.text.should == 'translation missing: en.gritter_notices.warning'
|
30
|
+
last.options[:gritter_key].should == :warning
|
30
31
|
last.options[:level].should == :warning
|
31
32
|
end
|
32
33
|
|
@@ -35,5 +36,14 @@ describe User do
|
|
35
36
|
subject.should have_gritter_notice('big problem')
|
36
37
|
subject.gritter_notices.last.options[:level].should == :error
|
37
38
|
end
|
39
|
+
|
40
|
+
it do
|
41
|
+
subject.gritter_notice :progress, :title=>'Supertitle', :text=>'Supertext'
|
42
|
+
last = subject.gritter_notices.last
|
43
|
+
last.options[:level].should == :progress
|
44
|
+
last.options[:title].should == 'Supertitle'
|
45
|
+
last.text.should == 'Supertext'
|
46
|
+
end
|
47
|
+
|
38
48
|
end
|
39
49
|
end
|
@@ -26,23 +26,28 @@ describe GritterNotices::ViewHelpers, :type => :helper do
|
|
26
26
|
flash[:error]='Error'
|
27
27
|
flash[:success]=['Success1','Success2']
|
28
28
|
flash[:info]=nil
|
29
|
-
current_user.
|
30
|
-
current_user.notice_warning 'Warning'
|
29
|
+
current_user.gritter_notice :progress, :title=>'Supertitle', :text=>'Supertext'
|
30
|
+
current_user.notice_warning 'Warning Warning'
|
31
31
|
|
32
32
|
compiled_gritters = [
|
33
33
|
"$.gritter.add({image:'/images/gritter/error.png',title:'translation missing: en.gflash.titles.error',text:'Error'});",
|
34
|
+
"$.gritter.add({image:'/images/gritter/progress.png',title:'Supertitle',text:'Supertext'});",
|
34
35
|
"$.gritter.add({image:'/images/gritter/success.png',title:'translation missing: en.gflash.titles.success',text:'Success1'});",
|
35
36
|
"$.gritter.add({image:'/images/gritter/success.png',title:'translation missing: en.gflash.titles.success',text:'Success2'});",
|
36
|
-
"$.gritter.add({image:'/images/gritter/
|
37
|
-
|
38
|
-
helper.should_receive(:js).with(compiled_gritters) { mock :html_safe=>true }
|
37
|
+
"$.gritter.add({image:'/images/gritter/warning.png',title:'translation missing: en.gflash.titles.warning',text:'Warning Warning'});"
|
38
|
+
].sort
|
39
|
+
#helper.should_receive(:js).with(compiled_gritters) { mock :html_safe=>true }
|
40
|
+
helper.should_receive(:js) do |args|
|
41
|
+
args.sort.should == compiled_gritters
|
42
|
+
mock :html_safe=>true
|
43
|
+
end
|
39
44
|
helper.gritter_flash_messages
|
40
45
|
end
|
41
46
|
end
|
42
47
|
|
43
48
|
describe '#move_gritter_notices_to_flashes' do
|
44
49
|
specify do
|
45
|
-
notice = mock :level=>:level, :
|
50
|
+
notice = mock :level=>:level, :text=>'text'
|
46
51
|
notice.should_receive(:mark_as_delivered).twice
|
47
52
|
current_user.stub_chain('gritter_notices.fresh') {[notice,notice]}
|
48
53
|
helper.should_receive(:append_flash_message).twice
|
data/spec/support/factories.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gritter_notices
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 2
|
10
|
+
version: 0.3.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Danil Pismenny
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-04-01 00:00:00 +04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
- 0
|
74
74
|
version: "0"
|
75
75
|
version_requirements: *id004
|
76
|
-
name:
|
76
|
+
name: ruby-debug
|
77
77
|
prerelease: false
|
78
78
|
type: :development
|
79
79
|
- !ruby/object:Gem::Dependency
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
- 0
|
88
88
|
version: "0"
|
89
89
|
version_requirements: *id005
|
90
|
-
name:
|
90
|
+
name: sqlite3
|
91
91
|
prerelease: false
|
92
92
|
type: :development
|
93
93
|
- !ruby/object:Gem::Dependency
|
@@ -101,11 +101,39 @@ dependencies:
|
|
101
101
|
- 0
|
102
102
|
version: "0"
|
103
103
|
version_requirements: *id006
|
104
|
-
name:
|
104
|
+
name: watchr
|
105
105
|
prerelease: false
|
106
106
|
type: :development
|
107
107
|
- !ruby/object:Gem::Dependency
|
108
108
|
requirement: &id007 !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 3
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
117
|
+
version_requirements: *id007
|
118
|
+
name: factory_girl
|
119
|
+
prerelease: false
|
120
|
+
type: :development
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
128
|
+
segments:
|
129
|
+
- 0
|
130
|
+
version: "0"
|
131
|
+
version_requirements: *id008
|
132
|
+
name: shoulda
|
133
|
+
prerelease: false
|
134
|
+
type: :development
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
109
137
|
none: false
|
110
138
|
requirements:
|
111
139
|
- - ~>
|
@@ -116,12 +144,12 @@ dependencies:
|
|
116
144
|
- 5
|
117
145
|
- 0
|
118
146
|
version: 2.5.0
|
119
|
-
version_requirements: *
|
147
|
+
version_requirements: *id009
|
120
148
|
name: rspec
|
121
149
|
prerelease: false
|
122
150
|
type: :development
|
123
151
|
- !ruby/object:Gem::Dependency
|
124
|
-
requirement: &
|
152
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
125
153
|
none: false
|
126
154
|
requirements:
|
127
155
|
- - ">="
|
@@ -130,12 +158,12 @@ dependencies:
|
|
130
158
|
segments:
|
131
159
|
- 0
|
132
160
|
version: "0"
|
133
|
-
version_requirements: *
|
161
|
+
version_requirements: *id010
|
134
162
|
name: rspec-rails
|
135
163
|
prerelease: false
|
136
164
|
type: :development
|
137
165
|
- !ruby/object:Gem::Dependency
|
138
|
-
requirement: &
|
166
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
139
167
|
none: false
|
140
168
|
requirements:
|
141
169
|
- - ~>
|
@@ -146,12 +174,12 @@ dependencies:
|
|
146
174
|
- 0
|
147
175
|
- 0
|
148
176
|
version: 1.0.0
|
149
|
-
version_requirements: *
|
177
|
+
version_requirements: *id011
|
150
178
|
name: bundler
|
151
179
|
prerelease: false
|
152
180
|
type: :development
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
|
-
requirement: &
|
182
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
155
183
|
none: false
|
156
184
|
requirements:
|
157
185
|
- - ~>
|
@@ -162,12 +190,12 @@ dependencies:
|
|
162
190
|
- 5
|
163
191
|
- 2
|
164
192
|
version: 1.5.2
|
165
|
-
version_requirements: *
|
193
|
+
version_requirements: *id012
|
166
194
|
name: jeweler
|
167
195
|
prerelease: false
|
168
196
|
type: :development
|
169
197
|
- !ruby/object:Gem::Dependency
|
170
|
-
requirement: &
|
198
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
171
199
|
none: false
|
172
200
|
requirements:
|
173
201
|
- - ">="
|
@@ -176,12 +204,12 @@ dependencies:
|
|
176
204
|
segments:
|
177
205
|
- 0
|
178
206
|
version: "0"
|
179
|
-
version_requirements: *
|
207
|
+
version_requirements: *id013
|
180
208
|
name: rcov
|
181
209
|
prerelease: false
|
182
210
|
type: :development
|
183
211
|
- !ruby/object:Gem::Dependency
|
184
|
-
requirement: &
|
212
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
185
213
|
none: false
|
186
214
|
requirements:
|
187
215
|
- - ~>
|
@@ -191,7 +219,7 @@ dependencies:
|
|
191
219
|
- 0
|
192
220
|
- 6
|
193
221
|
version: "0.6"
|
194
|
-
version_requirements: *
|
222
|
+
version_requirements: *id014
|
195
223
|
name: gritter
|
196
224
|
prerelease: false
|
197
225
|
type: :runtime
|
@@ -205,6 +233,7 @@ extra_rdoc_files:
|
|
205
233
|
- LICENSE.txt
|
206
234
|
- README.rdoc
|
207
235
|
files:
|
236
|
+
- .watchr
|
208
237
|
- Gemfile
|
209
238
|
- LICENSE.txt
|
210
239
|
- README.rdoc
|
@@ -220,12 +249,12 @@ files:
|
|
220
249
|
- lib/gritter_notices/rspec_matcher.rb
|
221
250
|
- lib/gritter_notices/view_helpers.rb
|
222
251
|
- spec/gritter_notice_spec.rb
|
223
|
-
- spec/
|
252
|
+
- spec/gritter_notices/active_record_spec.rb
|
253
|
+
- spec/gritter_notices/view_helpers_spec.rb
|
224
254
|
- spec/spec_helper.rb
|
225
255
|
- spec/support/factories.rb
|
226
256
|
- spec/support/migration.rb
|
227
257
|
- spec/support/user.rb
|
228
|
-
- spec/view_helpers_spec.rb
|
229
258
|
has_rdoc: true
|
230
259
|
homepage: http://github.com/dapi/gritter_notices
|
231
260
|
licenses:
|
@@ -262,9 +291,9 @@ specification_version: 3
|
|
262
291
|
summary: Show growl-like flashes and saved user's notices with Gritter
|
263
292
|
test_files:
|
264
293
|
- spec/gritter_notice_spec.rb
|
265
|
-
- spec/
|
294
|
+
- spec/gritter_notices/active_record_spec.rb
|
295
|
+
- spec/gritter_notices/view_helpers_spec.rb
|
266
296
|
- spec/spec_helper.rb
|
267
297
|
- spec/support/factories.rb
|
268
298
|
- spec/support/migration.rb
|
269
299
|
- spec/support/user.rb
|
270
|
-
- spec/view_helpers_spec.rb
|