acts_as_monitor 1.0.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. data/CHANGELOG.md +9 -0
  2. data/Gemfile +20 -0
  3. data/README.md +29 -13
  4. data/{lib/generators/acts_as_monitor/install/templates → app/assets/images}/acts_as_monitor_green.png +0 -0
  5. data/{lib/generators/acts_as_monitor/install/templates → app/assets/images}/acts_as_monitor_red.png +0 -0
  6. data/{lib/generators/acts_as_monitor/install/templates/acts_as_monitor_loading.gif → app/assets/images/acts_as_monitor_spinner.gif} +0 -0
  7. data/{lib/generators/acts_as_monitor/install/templates → app/assets/images}/acts_as_monitor_yellow.png +0 -0
  8. data/app/assets/javascripts/acts_as_monitor.js.coffee +12 -0
  9. data/{lib/generators/acts_as_monitor/install/templates/acts_as_monitor_javascript.js → app/assets/javascripts/acts_as_monitor_javascript.js.erb.old} +2 -1
  10. data/app/controllers/acts_as_monitor/monitors_controller.rb +2 -8
  11. data/app/helpers/acts_as_monitor_helper.rb +20 -13
  12. data/app/views/acts_as_monitor/monitors/_show.html.erb +28 -0
  13. data/app/views/acts_as_monitor/monitors/show.js.erb +2 -0
  14. data/config/locales/acts_as_monitor.it.yml +41 -0
  15. data/lib/acts_as_monitor.rb +1 -1
  16. data/lib/acts_as_monitor/engine.rb +1 -0
  17. data/lib/acts_as_monitor/exceptions.rb +16 -3
  18. data/lib/acts_as_monitor/monitor.rb +2 -1
  19. data/lib/acts_as_monitor/version.rb +1 -1
  20. data/lib/generators/acts_as_monitor/install/install_generator.rb +4 -31
  21. data/lib/generators/acts_as_monitor/install/templates/config/locales/acts_as_monitor.en.yml +13 -0
  22. data/lib/generators/acts_as_monitor/install/templates/{acts_as_monitor.it.yml → config/locales/acts_as_monitor.it.yml} +3 -2
  23. data/lib/generators/acts_as_monitor/install/templates/vendor/assets/stylesheets/acts_as_monitor.css.scss +78 -0
  24. metadata +52 -89
  25. data/app/views/acts_as_monitor/monitors/show.html.erb +0 -26
  26. data/lib/generators/acts_as_monitor/install/templates/acts_as_monitor.css +0 -48
@@ -1,3 +1,12 @@
1
+ 2.0.0 (Nov 8, 2013)
2
+ - upgrade to rails 3.2 and ruby 1.9.3
3
+
4
+ 1.0.4 (July 13, 2013)
5
+ - update to rails 3.0.15
6
+
7
+ 1.0.3 (July 13, 2013)
8
+ - minor bug fix
9
+
1
10
  1.0.2 (July 13, 2012)
2
11
  - update to rails 3.0.14
3
12
 
data/Gemfile CHANGED
@@ -2,3 +2,23 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in acts_as_monitor.gemspec
4
4
  gemspec
5
+
6
+ group :development, :test do
7
+ gem "sqlite3"
8
+ gem 'ruby-prof'
9
+ gem 'sass-rails'
10
+ gem "factory_girl_rails"
11
+ gem "launchy"
12
+ gem "database_cleaner"
13
+
14
+ if RUBY_VERSION < "1.9"
15
+ gem "capybara", '2.0.3'
16
+ gem "ruby-debug"
17
+ gem "factory_girl", "~> 2.6.0"
18
+ gem "nokogiri", "1.5.5"
19
+ gem "rubyzip", "<= 0.9.9"
20
+ else
21
+ gem "capybara"
22
+ gem 'debugger', :require => 'ruby-debug'
23
+ end
24
+ end
data/README.md CHANGED
@@ -1,7 +1,10 @@
1
1
  # ActsAsMonitor
2
2
 
3
3
  Provide a way to monitor the status of a model.
4
- The health of the model is checked by private/public methods, defined by user
4
+ The health of the model is checked by private/public methods, defined by user
5
+
6
+ Version 2.x.x works only with rails 3.1.x and 3.2.x with jQuery
7
+ If you need Rails 3.0.x support, please install v1.x.x
5
8
 
6
9
  ## Installation
7
10
 
@@ -17,7 +20,7 @@ Or install it yourself as:
17
20
 
18
21
  $ gem install acts_as_monitor
19
22
 
20
- Copy icons and other files
23
+ Copy stylesheets and internationalization files
21
24
 
22
25
  rails g acts_as_monitor:install
23
26
 
@@ -55,7 +58,7 @@ You can now check the status of your model using the following code:
55
58
  @user.status_flag
56
59
  > :red
57
60
 
58
- You can query the status of youe model with:
61
+ You can query the status of your model with:
59
62
 
60
63
  User.status_flag_equals(:red) #=> Array of users with :red status
61
64
 
@@ -64,16 +67,28 @@ You can query the status of youe model with:
64
67
  You can use the monitor_tag helper to view a red/green/yellow rapresentation:
65
68
 
66
69
  #app/views/users/index.html.erb
67
- <%= monitor_tag_js %> #Creates hidden div and load css and javascript
70
+ <%= monitor_tag_js %> #load css and javascript
68
71
  ...
69
72
  <%= monitor_tag(@user) %>
70
73
 
71
- Clicking the icon you'll receive, via Ajax, the full error/warning list
74
+ Clicking the icon you'll receive, via Ajax, the full error/warning list
75
+
76
+ If you want, you can add stylesheets and javascripts in your assets and remove monitor\_tag\_js:
77
+
78
+ #app/view/assets/javascript/application.js
79
+ ...
80
+ //= require acts_as_monitor
81
+
72
82
 
83
+ #app/view/assets/stylesheets/application.css
84
+ ..
85
+ //= require acts_as_monitor
86
+
73
87
  ## Internationalization
74
- You can localize the output modifing the acts_as_monitor.it.yml, or cloning for the language you prefear.
75
- Name of models is retrived via human_name, so yuo have to localize the ActiveRecord to change names:
76
- it:
88
+ You can localize the output modifing the acts_as_monitor.en.yml, or cloning for the language you prefear.
89
+ Name of models is retrived via model\_name.human, so you have to localize the ActiveRecord to change names:
90
+
91
+ en:
77
92
  activerecord:
78
93
  models:
79
94
  your_model_name: Your Model Name
@@ -82,12 +97,13 @@ Name of models is retrived via human_name, so yuo have to localize the ActiveRec
82
97
  namespaced_model_name: Your Namespaced Model Name
83
98
 
84
99
  ## Personalization
85
- Feel free to modify the fololwing files to change layouts and text :
86
- - public/stylesheets/acts_as_monitor.css
87
- - config/locales/act_as_monitor.it.yml
100
+ Feel free to modify the fololwing files to change layouts and translations :
101
+
102
+ - vendor/assets/stylesheets/acts\_as\_monitor.css
103
+ - config/locales/act\_as\_monitor.en.yml
88
104
 
89
- If you need a deeper personalization you can try to overload app/views/acts_as_monitor/monitors/show.html.erb
90
- conaining the page template for the error/warning list
105
+ If you need a deeper personalization you can try to overload app/views/acts\_as\_monitor/monitors/_show.html.erb
106
+ containing the page template for the error/warning list
91
107
 
92
108
  ## Contributing
93
109
 
@@ -0,0 +1,12 @@
1
+ actsAsMonitorToggleSpinner = (event) -> $("#"+ event.data.spinner).toggle()
2
+
3
+ $(document).ready ->
4
+ $("div.acts_as_monitor_window").click (e) ->
5
+ $(this).hide()
6
+ e.preventDefault()
7
+
8
+ $("form[data-remote].acts_as_monitor").each (index,element) ->
9
+ $(element)
10
+ .bind('ajax:before',{spinner: $(element).data('spinner')}, actsAsMonitorToggleSpinner)
11
+ .bind('ajax:complete',{spinner: $(element).data('spinner')}, actsAsMonitorToggleSpinner)
12
+ .bind('ajax:error',{spinner: $(element).data('spinner')}, actsAsMonitorToggleSpinner)
@@ -26,7 +26,8 @@ document.observe('dom:loaded', function()
26
26
  class_name: ev.target.getAttribute('data-class')
27
27
  },
28
28
  onLoading: function(response){
29
- ev.target.src = application_root + '/images/acts_as_monitor_loading.gif';
29
+ //ev.target.src = application_root + '/images/acts_as_monitor_loading.gif';
30
+ ev.target.src = '<%= asset_path 'acts_as_monitor_loading.gif' %>';
30
31
  },
31
32
  onSuccess: function(response){
32
33
  var rsp = response.responseJSON;
@@ -2,15 +2,9 @@ module ActsAsMonitor
2
2
  class MonitorsController < ::ApplicationController
3
3
 
4
4
  def show
5
- @monitor = eval(params[:class_name]).find(params[:id]) if monitor_valid?(params)
6
- Rails::logger.info("MonitorsController @monitor=#{@monitor.inspect}")
5
+ @monitor = eval(params[:class_name]).find(params[:id]) if monitor_valid!(params)
7
6
  respond_to do |format|
8
- format.js do
9
- view = render_to_string "show"
10
- #render :json => {"text" => @status.status}
11
- render :json => {"text" => view}
12
- end
13
- format.html
7
+ format.js
14
8
  end
15
9
  end
16
10
 
@@ -3,24 +3,31 @@ module ActsAsMonitorHelper
3
3
  raise ActsAsMonitor::MissingMethod unless object.respond_to?(:status_flag)
4
4
  status = object.status_flag
5
5
  icon = I18n.t(status, :scope => "acts_as_monitor.icons",
6
- :default => "acts_as_monitor_#{status.to_s}.png")
7
- image_tag icon, :alt => I18n.t("alt_image_#{status.to_s}", :scope => "acts_as_monitor.icons",
8
- :default => status.to_s.capitalize),
9
- :class => "acts_as_monitor_icon_#{status.to_s}",
10
- 'data-class' => object.class.name, 'data-id' => object.id
6
+ :default => "acts_as_monitor_#{status.to_s}.png")
7
+ content_tag(:div, :class => "acts_as_monitor") do
8
+ if status == :green
9
+ image_tag(icon, :class => "acts_as_monitor_#{status.to_s}")
10
+ else
11
+ form_tag(acts_as_monitor_monitor_path(object), :method => :get, :remote => true, :class => 'acts_as_monitor', :data => {:spinner => "acts_as_monitor_spinner_#{object.id}"}) do
12
+ hidden_field_tag("class_name", object.class.name) +
13
+ image_submit_tag(icon, :class => "acts_as_monitor_#{status.to_s}") +
14
+ #submit_tag(icon, :class => "acts_as_monitor_#{status.to_s}") +
15
+ content_tag(:div, "", :class => "acts_as_monitor_window", :id => "acts_as_monitor_window_#{object.id}", :style => "display:none;") +
16
+ image_tag("acts_as_monitor_spinner.gif", :class => "acts_as_monitor_spinner",:id => "acts_as_monitor_spinner_#{object.id}", :style => "display:none;")
17
+ end
18
+ end
19
+ end
11
20
  end
12
21
 
13
22
  def monitor_tag_js()
14
- path = root_path.to_s
15
- content_tag(:div, path, :id => 'acts_as_monitor_status_window', :style => "display: none;") +
16
- javascript_include_tag("acts_as_monitor_javascript.js") +
17
- stylesheet_link_tag('acts_as_monitor.css')
23
+ javascript_include_tag(:acts_as_monitor) +
24
+ stylesheet_link_tag(:acts_as_monitor)
18
25
  end
19
26
 
20
- def monitor_valid?(params)
21
- return false if params[:id].blank? || params[:class_name].blank?
22
- Rails::logger.info eval(params[:class_name]).instance_methods.include?("status")
23
- return false unless eval(params[:class_name]).instance_methods.include?("status")
27
+ def monitor_valid!(params)
28
+ Rails.logger.info("Params: #{params.inspect}")
29
+ raise ActsAsMonitor::MalformedParams.new(:error => params.inspect) if params[:id].blank? || params[:class_name].blank?
30
+ raise ActsAsMonitor::MissingMethod unless eval(params[:class_name]).first.respond_to?(:status)
24
31
  true
25
32
  end
26
33
  end
@@ -0,0 +1,28 @@
1
+ <% if monitor %>
2
+ <fieldset>
3
+ <legend><%= monitor.class.model_name.human %></legend>
4
+ <% @status = monitor.status %>
5
+ <% @li_scope = "acts_as_monitor.messages.#{monitor.class.name.underscore.gsub('/','_')}"%>
6
+ <% unless @status[:error].blank? %>
7
+ <section class='acts_as_monitor_errors'>
8
+ <h3><%=I18n.t(:errors, :scope => "acts_as_monitor.messages") %></h3>
9
+ <ul>
10
+ <%@status[:error].each do |error| %>
11
+ <li><%=I18n.t(error, :scope=> @li_scope, :default => error.to_s) %></li>
12
+ <% end %>
13
+ </ul>
14
+ </section>
15
+ <% end %>
16
+ <% unless @status[:warn].blank? %>
17
+ <section class='acts_as_monitor_warnings'>
18
+ <h3><%=I18n.t(:warnings, :scope => "acts_as_monitor.messages") %></h3>
19
+ <ul>
20
+ <%@status[:warn].each do |warn| %>
21
+ <li><%=I18n.t(warn, :scope=> @li_scope, :default => warn.to_s) %></li>
22
+ <% end %>
23
+ </ul>
24
+ </section>
25
+ <% end %>
26
+ <% else %>
27
+ <p><%= I18n.t(:missing_method, :scope=> "acts_as_monitor.errors", :default => "Add acts_as_monitor to monitored Class") %></p>
28
+ <% end %>
@@ -0,0 +1,2 @@
1
+ $('div.acts_as_monitor_window').hide()
2
+ $('#acts_as_monitor_window_<%=@monitor.id%>').html('<%=j raw(render(:partial => "show", :locals => {:monitor => @monitor})) %>').show()
@@ -0,0 +1,41 @@
1
+ it:
2
+ acts_as_monitor:
3
+ icons:
4
+ red: acts_as_monitor_red.png
5
+ yellow: acts_as_monitor_yellow.png
6
+ green: acts_as_monitor_green.png
7
+ alt_image: "Clicca per visualizzare i dettagli"
8
+ errors:
9
+ missing_method: "Aggiungi acts_as_monitor alla classe da monitorare"
10
+ messages:
11
+ errors: Errori
12
+ warnings: Avvisi
13
+ magazzino_document:
14
+ warn_attach: "Allegato mancante"
15
+ warn_body: "Una delle righe bolle contiene un Errore"
16
+ error_body: "Una delle righe bolla contiene un Avviso"
17
+ magazzino_product:
18
+ warn_coerent: "Prodotto non coerente nei magazzino collegati"
19
+ magazzino_documentbody:
20
+ error_sqta: "La quantità con segno è errata!"
21
+ interventi_activity:
22
+ warn_missing_attach: "Allegato mancante"
23
+ warn_missing_rapp_1: "Manca il Rapportino Nest2!"
24
+ warn_missing_rapp_2: "Manca il Rapportino cliente!"
25
+ warn_missing_photo_1: "Manca la Foto prima!"
26
+ warn_missing_photo_2: "Manca la Foto dopo!"
27
+ warn_missing_quality: "Manca la scheda qualità!"
28
+ warn_missing_supplier_billing: "BEF non presente in alcune righe"
29
+ warn_missing_customer_billing: "Consuntivazione non presente in alcune righe"
30
+ admin_attachment:
31
+ error_missing: "Allegato mancante sul server!"
32
+ consuntivazioni_billing:
33
+ warn_checks: "Controllo richiesto ma non presente!"
34
+ warn_order: "Consuntivazione non consolidata!"
35
+ error_order: "Consuntivazione consolidata senza Ordine!"
36
+ consuntivazioni_billing_body:
37
+ warn_missing_check: "Intervento non trovato nel controllo!"
38
+ produzione_order:
39
+ warn_expirating: "Ordine in scadenza"
40
+ error_expirated: "Ordine scaduto!"
41
+
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require "active_support/dependencies"
2
3
 
3
4
  module ActsAsMonitor
@@ -10,6 +11,5 @@ module ActsAsMonitor
10
11
  end
11
12
 
12
13
  require "acts_as_monitor/engine"
13
- #require "acts_as_monitor/version"
14
14
  require "acts_as_monitor/monitor"
15
15
  require "acts_as_monitor/exceptions"
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module ActsAsMonitor
2
3
  class Engine < Rails::Engine
3
4
  # initialize "acts_as_monitor.load_app_instance_data" do |app|
@@ -1,9 +1,22 @@
1
+ # encoding: utf-8
1
2
  #Defines Custom Exceptions
2
3
  module ActsAsMonitor
3
-
4
- class MissingMethod < StandardError
4
+ class CustomError < StandardError
5
+ def initialize(*args)
6
+ @options = args.extract_options!
7
+ super
8
+ end
9
+
10
+ def to_s
11
+ message
12
+ end
13
+
5
14
  def message
6
- I18n.t(:missing_method, :scope => "acts_as_monitor.errors", :default => "Add acts_as_monitor to your class")
15
+ @options.merge!({:default => "Error : #{@options.inspect}"})
16
+ I18n.t("#{self.class.name.gsub(/::/,'.')}", @options )
7
17
  end
8
18
  end
19
+
20
+ class MissingMethod < CustomError; end
21
+ class MalformedParams < CustomError;end
9
22
  end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module ActsAsMonitor
2
3
  module Monitor
3
4
  def self.included(base) # :nodoc:
@@ -53,7 +54,7 @@ module ActsAsMonitor
53
54
  out = {:warn => [], :error => []}
54
55
  methods = self.private_methods
55
56
  methods += self.methods
56
- methods = methods.map{|m| m.match(search) }.compact
57
+ methods = methods.map{|m| m.to_s.match(search) }.compact
57
58
  methods.each do |method|
58
59
  out[method[1].to_sym] << method[0].gsub("?","").to_sym if send(method[0])
59
60
  end
@@ -1,3 +1,3 @@
1
1
  module ActsAsMonitor
2
- VERSION = "1.0.4"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -4,36 +4,9 @@ module ActsAsMonitor
4
4
  desc "Install generator for ActsAsMonitor gem"
5
5
  source_root File.expand_path("../templates", __FILE__)
6
6
 
7
- def copy_icons
8
- icons = ["acts_as_monitor_green.png", "acts_as_monitor_red.png", "acts_as_monitor_yellow.png", "acts_as_monitor_loading.gif"]
9
- icons.each do |icon|
10
- destination = "public/images/" + icon
11
- copy_file icon, destination
12
- end
13
- end
14
-
15
- def copy_locales
16
- file = "acts_as_monitor.it.yml"
17
- destination = "config/locales/" + file
18
- copy_file file, destination
19
- end
20
-
21
- def copy_javascripts
22
- copy_file "acts_as_monitor_javascript.js", "public/javascripts/acts_as_monitor_javascript.js"
23
- end
24
-
25
- def copy_stylesheet
26
- copy_file "acts_as_monitor.css", "public/stylesheets/acts_as_monitor.css"
27
- end
28
-
29
-
30
- def print_usage
31
- usage = <<-START
32
- Add acts_as_monitor to model to monitor
33
- Add a private method warn_*? and error_*? to define warning and error status
34
- Use monitor_tag(model_instance) in your view
35
- START
36
- puts(usage)
37
- end
7
+ def copy_config
8
+ directory "."
9
+ end
10
+
38
11
  end
39
12
  end
@@ -0,0 +1,13 @@
1
+ en:
2
+ ActsAsMonitor:
3
+ MissingMethod: "Add acts_as_monitor to monitored class"
4
+ MalformedParams: "Malformed Params: %{error}"
5
+ acts_as_monitor:
6
+ icons:
7
+ red: acts_as_monitor_red.png
8
+ yellow: acts_as_monitor_yellow.png
9
+ green: acts_as_monitor_green.png
10
+ alt_image: "Show details"
11
+ messages:
12
+ errors: Errors
13
+ warnings: Warns
@@ -1,12 +1,13 @@
1
1
  it:
2
+ ActsAsMonitor:
3
+ MissingMethod: "Aggiungi acts_as_monitor alla classe da monitorare"
4
+ MalformedParams: "Params malformato: %{error}"
2
5
  acts_as_monitor:
3
6
  icons:
4
7
  red: acts_as_monitor_red.png
5
8
  yellow: acts_as_monitor_yellow.png
6
9
  green: acts_as_monitor_green.png
7
10
  alt_image: "Clicca per visualizzare i dettagli"
8
- errors:
9
- missing_method: "Aggiungi acts_as_monitor alla classe da monitorare"
10
11
  messages:
11
12
  errors: Errori
12
13
  warnings: Avvisi
@@ -0,0 +1,78 @@
1
+ $background_color: #F2F2F2;
2
+ $border_color: black;
3
+ $errors_color: red;
4
+ $warnings_color: #FACC2E;
5
+
6
+ div.acts_as_monitor {
7
+ position: relative;
8
+ width: 16px;
9
+
10
+ img.acts_as_monitor_spinner {
11
+ position: absolute;
12
+ z-index:100;
13
+ top: 0px;
14
+ left: 0px;
15
+ }
16
+
17
+ div.acts_as_monitor_window {
18
+ position: absolute;
19
+ z-index:100;
20
+ top: -50px;
21
+ left: 30px;
22
+
23
+ fieldset {
24
+ opacity: 1.0;
25
+ background-color: $background_color;
26
+ padding-left: 5px;
27
+ padding-right: 5px;
28
+ margin-left: 5px;
29
+ margin-right: 10px;
30
+ border: solid $border_color 1px;
31
+ -moz-border-radius:5px;
32
+ border-radius: 5px;
33
+ -webkit-border-radius: 5px;
34
+
35
+ legend {
36
+ -moz-border-radius:5px;
37
+ border-radius: 5px;
38
+ -webkit-border-radius: 5px;
39
+ border: solid $border_color 1px;
40
+ background-color: $border_color;
41
+ color: white;
42
+ }
43
+
44
+ h3 {
45
+ font-weight: normal;
46
+ text-align: center;
47
+ margin: 0px 0px 0px 0px;
48
+ padding-left: -5px;
49
+ padding-right: -5px;
50
+ padding-top: 3px;
51
+ padding-bottom: 3px;
52
+ }
53
+
54
+ section.acts_as_monitor_errors {
55
+ h3 {
56
+ background-color: $errors_color;
57
+ }
58
+
59
+ li{
60
+ list-style-image: url('acts_as_monitor_red.png');
61
+ }
62
+ }
63
+
64
+ section.acts_as_monitor_warnings {
65
+ h3 {
66
+ background-color: $warnings_color;
67
+ }
68
+
69
+ li{
70
+ list-style-image: url('acts_as_monitor_yellow.png');
71
+ }
72
+ }
73
+
74
+
75
+
76
+ }
77
+ }
78
+ }
metadata CHANGED
@@ -1,92 +1,65 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: acts_as_monitor
3
- version: !ruby/object:Gem::Version
4
- hash: 31
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 4
10
- version: 1.0.4
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Andrea Bignozzi
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-07-13 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-11-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rails
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 27
29
- segments:
30
- - 3
31
- - 0
32
- - 14
33
- version: 3.0.14
18
+ requirements:
19
+ - - <
20
+ - !ruby/object:Gem::Version
21
+ version: 4.0.0
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: 3.1.0
34
25
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rake
38
- prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
48
- type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rspec
52
26
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
54
28
  none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
62
- type: :development
63
- version_requirements: *id003
29
+ requirements:
30
+ - - <
31
+ - !ruby/object:Gem::Version
32
+ version: 4.0.0
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: 3.1.0
64
36
  description: Monitor model via private methods warn_*? and error_*?
65
- email:
37
+ email:
66
38
  - skylord73@gmail.com
67
39
  executables: []
68
-
69
40
  extensions: []
70
-
71
41
  extra_rdoc_files: []
72
-
73
- files:
74
- - app/views/acts_as_monitor/monitors/show.html.erb
75
- - app/helpers/acts_as_monitor_helper.rb
42
+ files:
43
+ - app/assets/images/acts_as_monitor_green.png
44
+ - app/assets/images/acts_as_monitor_red.png
45
+ - app/assets/images/acts_as_monitor_spinner.gif
46
+ - app/assets/images/acts_as_monitor_yellow.png
47
+ - app/assets/javascripts/acts_as_monitor.js.coffee
48
+ - app/assets/javascripts/acts_as_monitor_javascript.js.erb.old
76
49
  - app/controllers/acts_as_monitor/monitors_controller.rb
77
- - lib/acts_as_monitor.rb
50
+ - app/helpers/acts_as_monitor_helper.rb
51
+ - app/views/acts_as_monitor/monitors/_show.html.erb
52
+ - app/views/acts_as_monitor/monitors/show.js.erb
78
53
  - lib/acts_as_monitor/engine.rb
79
54
  - lib/acts_as_monitor/exceptions.rb
80
- - lib/acts_as_monitor/version.rb
81
55
  - lib/acts_as_monitor/monitor.rb
56
+ - lib/acts_as_monitor/version.rb
57
+ - lib/acts_as_monitor.rb
82
58
  - lib/generators/acts_as_monitor/install/install_generator.rb
83
- - lib/generators/acts_as_monitor/install/templates/acts_as_monitor.it.yml
84
- - lib/generators/acts_as_monitor/install/templates/acts_as_monitor_green.png
85
- - lib/generators/acts_as_monitor/install/templates/acts_as_monitor_yellow.png
86
- - lib/generators/acts_as_monitor/install/templates/acts_as_monitor_loading.gif
87
- - lib/generators/acts_as_monitor/install/templates/acts_as_monitor_red.png
88
- - lib/generators/acts_as_monitor/install/templates/acts_as_monitor.css
89
- - lib/generators/acts_as_monitor/install/templates/acts_as_monitor_javascript.js
59
+ - lib/generators/acts_as_monitor/install/templates/config/locales/acts_as_monitor.en.yml
60
+ - lib/generators/acts_as_monitor/install/templates/config/locales/acts_as_monitor.it.yml
61
+ - lib/generators/acts_as_monitor/install/templates/vendor/assets/stylesheets/acts_as_monitor.css.scss
62
+ - config/locales/acts_as_monitor.it.yml
90
63
  - config/routes.rb
91
64
  - Rakefile
92
65
  - Gemfile
@@ -95,36 +68,26 @@ files:
95
68
  - LICENSE
96
69
  homepage:
97
70
  licenses: []
98
-
99
71
  post_install_message:
100
72
  rdoc_options: []
101
-
102
- require_paths:
73
+ require_paths:
103
74
  - lib
104
- required_ruby_version: !ruby/object:Gem::Requirement
75
+ required_ruby_version: !ruby/object:Gem::Requirement
105
76
  none: false
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- hash: 3
110
- segments:
111
- - 0
112
- version: "0"
113
- required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
82
  none: false
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- hash: 3
119
- segments:
120
- - 0
121
- version: "0"
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
122
87
  requirements: []
123
-
124
88
  rubyforge_project:
125
- rubygems_version: 1.8.24
89
+ rubygems_version: 1.8.23
126
90
  signing_key:
127
91
  specification_version: 3
128
92
  summary: Monitor models
129
93
  test_files: []
130
-
@@ -1,26 +0,0 @@
1
- <% if @monitor %>
2
- <fieldset class='acts_as_monitor_status_window'>
3
- <legend class='acts_as_monitor_status_window'><%= @monitor.class.human_name %></legend>
4
- <% @status = @monitor.status %>
5
- <% @li_scope = "acts_as_monitor.messages.#{@monitor.class.name.underscore.gsub('/','_')}"%>
6
- <% unless @status[:error].blank? %>
7
- <h3 class="acts_as_monitor_errors_title"><%=I18n.t(:errors, :scope => "acts_as_monitor.messages") %></h3>
8
- <ul class="acts_as_monitor_list_errors">
9
- <%@status[:error].each do |error| %>
10
- <li class= "acts_as_monitor_list_errors"><%=I18n.t(error, :scope=> @li_scope, :default => error.to_s) %></li>
11
- <% end %>
12
- </ul>
13
- <% end %>
14
- <% unless @status[:warn].blank? %>
15
- <h3 class="acts_as_monitor_warnings_title"><%=I18n.t(:warnings, :scope => "acts_as_monitor.messages") %></h3>
16
- <ul class="acts_as_monitor_list_warnings">
17
- <%@status[:warn].each do |warn| %>
18
- <li class="acts_as_monitor_list_warnings"><%=I18n.t(warn, :scope=> @li_scope, :default => warn.to_s) %></li>
19
- <% end %>
20
- </ul>
21
- <% end %>
22
- <% else %>
23
- <p><%= I18n.t(:missing_method, :scope=> "acts_as_monitor.errors", :default => "Add acts_as_monitor to monitored Class") %></p>
24
- <% end %>
25
-
26
-
@@ -1,48 +0,0 @@
1
- .acts_as_monitor_status_window{
2
- background-color: #F2F2F2;
3
- border: solid black 1px;
4
- opacity: 0.9;
5
- width: 150px;
6
- }
7
-
8
- .acts_as_monitor_status_window legend{
9
- opacity: 1.0;
10
- background-color: #F2F2F2;
11
- padding-left: 5px;
12
- padding-right: 5px;
13
- margin-left: 5px;
14
- margin-right: 10px;
15
-
16
- }
17
-
18
- .acts_as_monitor_status_window h3.acts_as_monitor_errors_title{
19
- font-weight: normal;
20
- background-color: red;
21
- text-align: center;
22
- padding-left: 5px;
23
- padding-right: 5px;
24
- padding-top: 3px;
25
- padding-bottom: 3px;
26
- }
27
-
28
- .acts_as_monitor_status_window h3.acts_as_monitor_warnings_title{
29
- font-weight: normal;
30
- background-color: #FACC2E;
31
- text-align: center;
32
- padding-left: 5px;
33
- padding-right: 5px;
34
- padding-top: 3px;
35
- padding-bottom: 3px;
36
- }
37
-
38
- .acts_as_monitor_status_window ul{
39
- margin-left: 10px;
40
- }
41
-
42
- li.acts_as_monitor_list_errors{
43
- list-style-image: url('../images/acts_as_monitor_red.png');
44
- }
45
-
46
- li.acts_as_monitor_list_warnings{
47
- list-style-image: url('../images/acts_as_monitor_yellow.png');
48
- }