dashing-rails 2.3.2 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTI4YTg4M2Y4MzQxZDI2NmFlM2EyNzA1MjE5OWNiYmM5NzI0YmUxMw==
4
+ ZjU5M2MwMTMxNDA5ODVmOWZhYzY5OTQyYzNhZTA5ZmRiZjAyNDNkNA==
5
5
  data.tar.gz: !binary |-
6
- ZTQxMGUzZDE4ODRhNDMzMDgzMWFmNzVlMTIxMTJhY2U3NzQyYWY0Mw==
6
+ M2Y3YTljNTgxYTQ0YWFlNTI3YTQ3NzYyODQ3NTQ5ZmYzYzU1OWJjNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzczNWY0NzIwYzhiZWQ3YzA0Njk0MTk3NmE1ZDFhNTVhMDljMTA1MWQ3Mjg0
10
- ZWE5OWFhM2E0MTI5NzMwNTQzYjg4NzYyNzUyNWRhNDAxNTVjZDFlOWY4YzQ2
11
- MmM5NTMzODllZTBkOGVlYmJhNmQyMGM3YWZhMTNmMjNmNzdhZGI=
9
+ ZjExNzRmNTcxOTFiMjRkN2YyZjI4ZTAwMTc2NzRmODQzZmQxNmZmYWY3NTY3
10
+ NzE4ZDJmNTM1ZTQ0MjE0ZGNhYTBhZTMxMmJjMWE3NjA4NDk5NzZiOTFmMjk0
11
+ OWNkNjNhNzJhYTRkNmM4Yjg1ZWU2NWViZDU4OTcxMGFkYTNmZmM=
12
12
  data.tar.gz: !binary |-
13
- ZjNjM2IzNDdmNjcwYzlhMDc2OTZjMjdkZDE1OWJlOTI1MmM2ZDkxZmM0NTEy
14
- ZjAxY2ZlNzE2YTc5ZDczOTE5ZDQ3MzkzYjlmNTE4M2YwMjQzMjgxODI3ZDM3
15
- NjQyYWE1MWUwYWRmNDg4OWFhYjBlM2QxOTk0MWJhMTVlYzM4YTQ=
13
+ MzhmNjVjMTkwN2MwYmRiN2M5NjVmM2ZkMzM4YjU0ZmE3NGY2NjhiMjAzZjlj
14
+ OWFmYzFlYTMwYzI2MDlkZTUwMjgxMmMyMjRkNjcyZmZhYzNlZThkOTg1ZDFi
15
+ N2RjOWE2MWM5ZDFlMjFkMmQ0MWU5NWRmYzRkNDA2OWZmYTEyYWY=
data/.gitignore CHANGED
@@ -8,3 +8,4 @@ spec/dummy/tmp/
8
8
  spec/dummy/.sass-cache
9
9
  .coveralls.yml
10
10
  coverage/
11
+ test_widget.*
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 2.4.0
2
+
3
+ * Update Batman.js using `batman-rails` gem
4
+ * Fixes [#41](https://github.com/gottfrois/dashing-rails/issues/41) for good. We now don't have to use proc or lambdas anymore.
5
+
1
6
  ## 2.3.2
2
7
 
3
8
  * Fixes [#46](https://github.com/gottfrois/dashing-rails/issues/46)
data/Gemfile CHANGED
@@ -18,4 +18,5 @@ group :test do
18
18
  gem 'simplecov', require: false
19
19
  gem 'rspec-rails', '~> 2.14'
20
20
  gem 'pry-rails', '~> 0.3'
21
+ gem 'generator_spec'
21
22
  end
data/Gemfile.lock CHANGED
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dashing-rails (2.3.2)
4
+ dashing-rails (2.4.0)
5
+ batman-rails (~> 0.16.1)
5
6
  coffee-script (~> 2.2)
6
7
  connection_pool (~> 2.0)
7
- jquery-rails (~> 3.0)
8
+ jquery-rails (~> 3.1)
8
9
  rails (~> 4.1)
9
- redis (~> 3.0)
10
+ redis (~> 3.1)
10
11
  rufus-scheduler (~> 3.0)
11
12
 
12
13
  GEM
@@ -39,15 +40,17 @@ GEM
39
40
  thread_safe (~> 0.1)
40
41
  tzinfo (~> 1.1)
41
42
  arel (5.0.1.20140414130214)
43
+ batman-rails (0.16.1)
44
+ railties (>= 3.2)
42
45
  better_errors (1.1.0)
43
46
  coderay (>= 1.0.0)
44
47
  erubis (>= 2.6.6)
45
48
  builder (3.2.2)
46
49
  coderay (1.1.0)
47
- coffee-script (2.2.0)
50
+ coffee-script (2.3.0)
48
51
  coffee-script-source
49
52
  execjs
50
- coffee-script-source (1.7.0)
53
+ coffee-script-source (1.7.1)
51
54
  connection_pool (2.0.0)
52
55
  coveralls (0.7.0)
53
56
  multi_json (~> 1.3)
@@ -58,10 +61,13 @@ GEM
58
61
  diff-lcs (1.2.5)
59
62
  docile (1.1.3)
60
63
  erubis (2.7.0)
61
- execjs (2.2.0)
64
+ execjs (2.2.1)
65
+ generator_spec (0.9.2)
66
+ activesupport (>= 3.0.0)
67
+ railties (>= 3.0.0)
62
68
  hike (1.2.3)
63
69
  i18n (0.6.9)
64
- jquery-rails (3.1.0)
70
+ jquery-rails (3.1.1)
65
71
  railties (>= 3.0, < 5.0)
66
72
  thor (>= 0.14, < 2.0)
67
73
  json (1.8.1)
@@ -70,7 +76,7 @@ GEM
70
76
  treetop (~> 1.4.8)
71
77
  method_source (0.8.2)
72
78
  mime-types (1.25.1)
73
- minitest (5.3.4)
79
+ minitest (5.3.5)
74
80
  multi_json (1.10.1)
75
81
  polyglot (0.3.5)
76
82
  pry (0.9.12.6)
@@ -98,7 +104,7 @@ GEM
98
104
  rake (>= 0.8.7)
99
105
  thor (>= 0.18.1, < 2.0)
100
106
  rake (10.3.2)
101
- redis (3.0.7)
107
+ redis (3.1.0)
102
108
  rest-client (1.6.7)
103
109
  mime-types (>= 1.16)
104
110
  rspec-core (2.14.8)
@@ -113,7 +119,7 @@ GEM
113
119
  rspec-core (~> 2.14.0)
114
120
  rspec-expectations (~> 2.14.0)
115
121
  rspec-mocks (~> 2.14.0)
116
- rufus-scheduler (3.0.7)
122
+ rufus-scheduler (3.0.8)
117
123
  tzinfo
118
124
  simplecov (0.8.2)
119
125
  docile (~> 1.1.0)
@@ -134,13 +140,13 @@ GEM
134
140
  term-ansicolor (1.3.0)
135
141
  tins (~> 1.0)
136
142
  thor (0.19.1)
137
- thread_safe (0.3.3)
143
+ thread_safe (0.3.4)
138
144
  tilt (1.4.1)
139
145
  tins (1.3.0)
140
146
  treetop (1.4.15)
141
147
  polyglot
142
148
  polyglot (>= 0.3.1)
143
- tzinfo (1.1.0)
149
+ tzinfo (1.2.1)
144
150
  thread_safe (~> 0.1)
145
151
 
146
152
  PLATFORMS
@@ -150,6 +156,7 @@ DEPENDENCIES
150
156
  better_errors (~> 1.0)
151
157
  coveralls
152
158
  dashing-rails!
159
+ generator_spec
153
160
  jquery-rails (~> 3.0)
154
161
  pry-rails (~> 0.3)
155
162
  rspec-rails (~> 2.14)
@@ -34,7 +34,7 @@ module Dashing
34
34
  end
35
35
 
36
36
  def main_app_view_path
37
- Dashing.config.widgets_views_path.call
37
+ Dashing.config.widgets_views_path
38
38
  end
39
39
 
40
40
  def template_not_found
data/dashing.gemspec CHANGED
@@ -18,10 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_dependency 'rails', '~> 4.1'
21
- spec.add_dependency 'jquery-rails', '~> 3.0'
21
+ spec.add_dependency 'jquery-rails', '~> 3.1'
22
22
  spec.add_dependency 'coffee-script', '~> 2.2'
23
+ spec.add_dependency 'batman-rails', '~> 0.16.1'
23
24
  spec.add_dependency 'rufus-scheduler', '~> 3.0'
24
- spec.add_dependency 'redis', '~> 3.0'
25
+ spec.add_dependency 'redis', '~> 3.1'
25
26
  spec.add_dependency 'connection_pool', '~> 2.0'
26
27
 
27
28
  spec.add_development_dependency 'rspec-rails', '~> 2.14'
@@ -37,9 +37,9 @@ module Dashing
37
37
  @dashboard_layout_path = 'dashing/dashboard'
38
38
 
39
39
  # Widgets
40
- @widgets_views_path = -> { Rails.root.join('app', 'views', 'dashing', 'widgets') }
41
- @widgets_js_path = 'app/assets/javascripts/dashing'
42
- @widgets_css_path = 'app/assets/stylesheets/dashing'
40
+ @widgets_views_path = Rails.root.join('app', 'views', 'dashing', 'widgets')
41
+ @widgets_js_path = Rails.root.join('app', 'assets', 'javascripts', 'dashing')
42
+ @widgets_css_path = Rails.root.join('app', 'assets', 'stylesheets', 'dashing')
43
43
  end
44
44
 
45
45
  def redis
@@ -1,15 +1,9 @@
1
+ require 'batman-rails'
2
+
1
3
  module Dashing
2
4
  class Engine < ::Rails::Engine
3
5
  isolate_namespace Dashing
4
6
 
5
- config.assets.paths.unshift Dashing::Engine.root.join('vendor', 'assets', 'fonts', 'dashing')
6
- config.assets.paths.unshift Dashing::Engine.root.join('vendor', 'assets', 'javascripts', 'dashing')
7
- config.assets.paths.unshift Dashing::Engine.root.join('vendor', 'assets', 'stylesheets', 'dashing')
8
- config.assets.paths.unshift Dashing.config.widgets_js_path
9
- config.assets.paths.unshift Dashing.config.widgets_css_path
10
-
11
- config.assets.precompile << /\.(?:svg|eot|woff|ttf)$/
12
-
13
- config.paths['app/views'].unshift Dashing::Engine.root.join('app', 'views', 'dashing', 'widgets')
7
+ paths['app/views'].unshift Dashing::Engine.root.join('app', 'views', 'dashing', 'widgets')
14
8
  end
15
9
  end
@@ -1,5 +1,18 @@
1
1
  module Dashing
2
2
  class Railtie < ::Rails::Railtie
3
+
4
+ initializer 'configure assets' do |app|
5
+ app.configure do
6
+ config.assets.paths.unshift Dashing::Engine.root.join('vendor', 'assets', 'fonts', 'dashing')
7
+ config.assets.paths.unshift Dashing::Engine.root.join('vendor', 'assets', 'javascripts', 'dashing')
8
+ config.assets.paths.unshift Dashing::Engine.root.join('vendor', 'assets', 'stylesheets', 'dashing')
9
+ config.assets.paths.unshift Dashing.config.widgets_js_path
10
+ config.assets.paths.unshift Dashing.config.widgets_css_path
11
+
12
+ config.assets.precompile << /\.(?:svg|eot|woff|ttf)$/
13
+ end
14
+ end
15
+
3
16
  initializer 'require dashing jobs' do
4
17
  Dir[Dashing.config.jobs_path.call.join('**', '*.rb')].each { |file| require file }
5
18
  end
@@ -1,3 +1,3 @@
1
1
  module Dashing
2
- VERSION = '2.3.2'
2
+ VERSION = '2.4.0'
3
3
  end
@@ -7,7 +7,7 @@ module Dashing
7
7
  desc 'Creates a new Dashing widget.'
8
8
 
9
9
  def widget
10
- template 'widgets/new.html', Dashing.config.widgets_views_path.call.join("#{file_name}.html")
10
+ template 'widgets/new.html', Dashing.config.widgets_views_path.join("#{file_name}.html")
11
11
  template 'widgets/new.scss', Dashing.config.widgets_css_path.join('widgets', "#{file_name}.scss")
12
12
  template 'widgets/new.coffee', Dashing.config.widgets_js_path.join('widgets', "#{file_name}.coffee")
13
13
  end
@@ -28,9 +28,9 @@ describe Dashing::Configuration do
28
28
  it { expect(instance.dashboard_layout_path).to eq('dashing/dashboard') }
29
29
 
30
30
  # Widgets
31
- it { expect(instance.widgets_views_path.call.to_s).to include('app/views/dashing/widgets') }
32
- it { expect(instance.widgets_js_path).to eq('app/assets/javascripts/dashing') }
33
- it { expect(instance.widgets_css_path).to eq('app/assets/stylesheets/dashing') }
31
+ it { expect(instance.widgets_views_path.to_s).to include('app/views/dashing/widgets') }
32
+ it { expect(instance.widgets_js_path.to_s).to include('app/assets/javascripts/dashing') }
33
+ it { expect(instance.widgets_css_path.to_s).to include('app/assets/stylesheets/dashing') }
34
34
 
35
35
  describe '#request_thread_count' do
36
36
 
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+ require 'generator_spec'
3
+ require 'generators/dashing/widget_generator'
4
+
5
+ describe Dashing::Generators::WidgetGenerator do
6
+
7
+ arguments %w(test_widget)
8
+
9
+ before do
10
+ run_generator
11
+ end
12
+
13
+ after do
14
+ `find #{Rails.root.join('app')} -name "test_widget.*" -delete`
15
+ end
16
+
17
+ it 'creates widget files' do
18
+ assert_file Rails.root.join 'app/views/dashing/widgets/test_widget.html'
19
+ assert_file Rails.root.join 'app/assets/javascripts/dashing/widgets/test_widget.coffee'
20
+ assert_file Rails.root.join 'app/assets/stylesheets/dashing/widgets/test_widget.scss'
21
+ end
22
+ end
@@ -1,5 +1,5 @@
1
1
  Batman.config.pathPrefix = "/"
2
- Batman.config.viewPrefix = "/dashing/widgets/"
2
+ Batman.config.pathToHTML = "/dashing/widgets/"
3
3
 
4
4
  Batman.Filters.prettyNumber = (num) ->
5
5
  num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") unless isNaN(num)
@@ -26,18 +26,26 @@ class window.Dashing extends Batman.App
26
26
  Dashing.params = Batman.URI.paramsFromQuery(window.location.search.slice(1));
27
27
 
28
28
  class Dashing.Widget extends Batman.View
29
- constructor: ->
29
+ constructor: ->
30
30
  # Set the view path
31
31
  @constructor::source = Batman.Filters.underscore(@constructor.name)
32
+
32
33
  super
33
34
 
34
- @mixin($(@node).data())
35
- Dashing.widgets[@id] ||= []
36
- Dashing.widgets[@id].push(@)
37
- @mixin(Dashing.lastEvents[@id]) # in case the events from the server came before the widget was rendered
35
+ @observe 'node', (newValue, oldValue) ->
36
+ if !oldValue && !@_registeredAtDashing
37
+ @_registeredAtDashing = true
38
+
39
+ @mixin($(@node).data())
40
+ Dashing.widgets[@id] ||= []
41
+ Dashing.widgets[@id].push(@)
42
+
43
+ # in case the events from the server came
44
+ # before the widget was rendered
45
+ @mixin(Dashing.lastEvents[@id])
38
46
 
39
- type = Batman.Filters.dashize(@view)
40
- $(@node).addClass("widget widget-#{type} #{@id}")
47
+ type = Batman.Filters.dashize(@constructor.name)
48
+ $(@node).addClass("widget widget-#{type} #{@id}")
41
49
 
42
50
  @accessor 'updatedAtMessage', ->
43
51
  if updatedAt = @get('updatedAt')
@@ -6,13 +6,15 @@ class Dashing.Graph extends Dashing.Widget
6
6
  if points
7
7
  points[points.length - 1].y
8
8
 
9
- ready: ->
10
- container = $(@node).parent()
9
+ loadNode: (_node) ->
10
+ node = super(_node)
11
+
12
+ container = $(node).parent()
11
13
  # Gross hacks. Let's fix this.
12
14
  width = (Dashing.widget_base_dimensions[0] * container.data("sizex")) + Dashing.widget_margins[0] * 2 * (container.data("sizex") - 1)
13
15
  height = (Dashing.widget_base_dimensions[1] * container.data("sizey"))
14
16
  @graph = new Rickshaw.Graph(
15
- element: @node
17
+ element: node
16
18
  width: width
17
19
  height: height
18
20
  renderer: @get("graphtype")
@@ -30,6 +32,8 @@ class Dashing.Graph extends Dashing.Widget
30
32
  y_axis = new Rickshaw.Graph.Axis.Y(graph: @graph, tickFormat: Rickshaw.Fixtures.Number.formatKMBT)
31
33
  @graph.render()
32
34
 
35
+ return node
36
+
33
37
  onData: (data) ->
34
38
  if @graph
35
39
  @graph.series[0].data = data.points
@@ -17,8 +17,8 @@
17
17
  //= require jquery.timeago
18
18
  //= require moment.min
19
19
  //= require rickshaw-1.4.3.min
20
- //= require batman
21
- //= require batman.jquery
20
+ //= require batman/batman
21
+ //= require batman/batman.jquery
22
22
  //= require d3-3.2.8.min
23
- //= require es5-shim
23
+ //= require batman/es5-shim
24
24
  //= require dashing-src
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dashing-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pierre-Louis Gottfrois
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-28 00:00:00.000000000 Z
11
+ date: 2014-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '3.0'
33
+ version: '3.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '3.0'
40
+ version: '3.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: coffee-script
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: batman-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.16.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 0.16.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rufus-scheduler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +86,14 @@ dependencies:
72
86
  requirements:
73
87
  - - ~>
74
88
  - !ruby/object:Gem::Version
75
- version: '3.0'
89
+ version: '3.1'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - ~>
81
95
  - !ruby/object:Gem::Version
82
- version: '3.0'
96
+ version: '3.1'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: connection_pool
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -249,14 +263,13 @@ files:
249
263
  - spec/dummy/public/favicon.ico
250
264
  - spec/lib/dashing/configuration_spec.rb
251
265
  - spec/lib/dashing_spec.rb
266
+ - spec/lib/generators/widget_generator_spec.rb
252
267
  - spec/spec_helper.rb
253
268
  - spec/support/controller_spec_helpers.rb
254
269
  - vendor/assets/fonts/dashing/fontawesome-webfont.eot
255
270
  - vendor/assets/fonts/dashing/fontawesome-webfont.svg
256
271
  - vendor/assets/fonts/dashing/fontawesome-webfont.ttf
257
272
  - vendor/assets/fonts/dashing/fontawesome-webfont.woff
258
- - vendor/assets/javascripts/dashing/batman.jquery.js
259
- - vendor/assets/javascripts/dashing/batman.js
260
273
  - vendor/assets/javascripts/dashing/d3-3.2.8.min.js
261
274
  - vendor/assets/javascripts/dashing/dashing-src.coffee
262
275
  - vendor/assets/javascripts/dashing/default_widgets/clock.coffee
@@ -269,7 +282,6 @@ files:
269
282
  - vendor/assets/javascripts/dashing/default_widgets/meter.coffee
270
283
  - vendor/assets/javascripts/dashing/default_widgets/number.coffee
271
284
  - vendor/assets/javascripts/dashing/default_widgets/text.coffee
272
- - vendor/assets/javascripts/dashing/es5-shim.js
273
285
  - vendor/assets/javascripts/dashing/index.js
274
286
  - vendor/assets/javascripts/dashing/jquery.gridster.js
275
287
  - vendor/assets/javascripts/dashing/jquery.js
@@ -372,5 +384,7 @@ test_files:
372
384
  - spec/dummy/public/favicon.ico
373
385
  - spec/lib/dashing/configuration_spec.rb
374
386
  - spec/lib/dashing_spec.rb
387
+ - spec/lib/generators/widget_generator_spec.rb
375
388
  - spec/spec_helper.rb
376
389
  - spec/support/controller_spec_helpers.rb
390
+ has_rdoc: