netzke-core 0.9.0.rc1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1175b45677bda3817184b89d9d0f68da8457a31a
4
- data.tar.gz: d1bc12dc909276a5941c18b1c68a1d9bdb6a229c
3
+ metadata.gz: 3249a1b7bc59b32f5437299a6238d579a51d6f07
4
+ data.tar.gz: 30539d08f8c08ec64a9a8f0d664fbd323150c47d
5
5
  SHA512:
6
- metadata.gz: 33452d410a4eae2cab16fb58a5522864fecbc18000e6287845e1607a043a52142667ee2a29b662544f032bdf54c7e6732ab315170143e08d004fe5c2af6191b3
7
- data.tar.gz: d3a9199962687880dccccefb386d15fcd528630a63d47e75af951b02aadfbb8e7acd87c6fe19171e734bcaf2e8266d63a3afb4f6d8e302272bef48f9756bd0e5
6
+ metadata.gz: 49850df9ba02b6363c8b066254dd463a73e2502d5586b5b3c3fa9fd4705093387677e1524bdd6dd0236c1f1e6281c9d3a57860b7b031b10b6ba0a6daa302ff8f
7
+ data.tar.gz: 944e0c00f7cc2da75ee4836b5010934a1eb916da91b0f39002eb9c8823d95d0941ae61eca4c63bb26b7c96a2c9b430e4f32b3de8829ee88d8e5f04d0cad13258
data/CHANGELOG.md CHANGED
@@ -1,7 +1,12 @@
1
1
  # v0.9.0 - WIP
2
+ * Fix icon detection
3
+ * Introduce `Base#validate_config` that can be overridden to validate a component's configuration
4
+
5
+ # v0.9.0.rc1 - 2013-12-01
2
6
  * Rails 4
3
7
  * Ext JS 4.2
4
8
  * Ext JS Neptune scheme is default
9
+ * Default icon location changed to `/assets/icons`
5
10
 
6
11
  # v0.8.4 - 2013-05-22
7
12
  * bug fix
data/Gemfile CHANGED
@@ -2,8 +2,6 @@ source 'http://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'netzke-testing'
6
-
7
5
  # For local development
8
6
  # gem 'netzke_testing', path: '~/code/netzke/netzke_testing'
9
7
 
@@ -13,4 +11,5 @@ group :test do
13
11
  gem 'database_cleaner'
14
12
  gem 'rspec-rails'
15
13
  gem 'pry-rails'
14
+ gem 'netzke-testing', '~>0.10.0'
16
15
  end
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Netzke Core [![Gem Version](https://fury-badge.herokuapp.com/rb/netzke-core.png)](http://badge.fury.io/rb/netzke-core) [![Build Status](https://travis-ci.org/netzke/netzke-core.png?branch=master)](https://travis-ci.org/netzke/netzke-core) [![Code Climate](https://codeclimate.com/github/netzke/netzke-core.png)](https://codeclimate.com/github/netzke/netzke-core)
1
+ # Netzke Core [![Gem Version](https://fury-badge.herokuapp.com/rb/netzke-core.png)](http://badge.fury.io/rb/netzke-core) [![Build Status](https://travis-ci.org/netzke/netzke-core.png?branch=0-9)](https://travis-ci.org/netzke/netzke-core) [![Code Climate](https://codeclimate.com/github/netzke/netzke-core.png)](https://codeclimate.com/github/netzke/netzke-core)
2
2
 
3
3
  [RDocs](http://rdoc.info/projects/netzke/netzke-core)
4
4
 
@@ -299,7 +299,7 @@ For more details on client-server communication see [Netzke::Core::Services]("ht
299
299
 
300
300
  ## Icons support
301
301
 
302
- Netzke can optionally make use of icons for making clickable elements like buttons and menu items more visual. The icons should be (by default) located in `public/images/icons`.
302
+ Netzke can optionally make use of icons for making clickable elements like buttons and menu items more visual. The icons should be (by default) located in `app/assets/images/icons`.
303
303
 
304
304
  An example of specifying an icon for an action:
305
305
 
@@ -309,7 +309,7 @@ action :logout do |c|
309
309
  end
310
310
  ```
311
311
 
312
- The logout action will be configured with `public/images/icons/door.png` as icon.
312
+ The logout action will be configured with `public/assets/icons/door.png` as icon.
313
313
 
314
314
  For more details on using icons refer to [Netzke::Core::Actions]("http://rdoc.info/github/netzke/netzke-core/Netzke/Core/Actions").
315
315
 
@@ -325,7 +325,7 @@ Netzke provides support for HAML templates in case you don't want to put HTML in
325
325
 
326
326
  ## Requirements
327
327
 
328
- * Ruby ~> 1.9.2
328
+ * Ruby >= 1.9.3
329
329
  * Rails ~> 3.2.0
330
330
  * Ext JS ~> 4.2.0
331
331
 
@@ -349,13 +349,13 @@ By default, Netzke assumes that your Ext JS library is located in `public/extjs`
349
349
 
350
350
  The bundled `spec/rails_app` application used for automated testing can be easily run as a stand-alone Rails app. It's a good source of concise, focused examples. After starting the application, access any of the test components (located in `spec/rails_app/app/components`) by using the following url:
351
351
 
352
- http://localhost:3000/components/{name of the component's class}
352
+ http://localhost:3000/netzke/components/{name of the component's class}
353
353
 
354
- For example [http://localhost:3000/components/Endpoints](http://localhost:3000/components/Endpoints)
354
+ For example [http://localhost:3000/netzke/components/Endpoints](http://localhost:3000/netzke/components/Endpoints)
355
355
 
356
356
  To run a specific Mocha JS spec (located in `spec/mocha`) for a component, append `?spec={name of spec}`, for example:
357
357
 
358
- [http://localhost:3000/components/Endpoints?spec=endpoints](http://localhost:3000/components/Endpoints?spec=endpoints)
358
+ [http://localhost:3000/netzke/components/Endpoints?spec=endpoints](http://localhost:3000/components/Endpoints?spec=endpoints)
359
359
 
360
360
  To run all the tests (from the gem's root):
361
361
 
@@ -369,7 +369,7 @@ This assumes that the Ext JS library is located/symlinked in `spec/rails_app/pub
369
369
 
370
370
  Help developing Netzke by submitting a pull request when you think others can benefit from it.
371
371
 
372
- If you feel particularily generous, you can donate a couple of bucks a week at [GitTip](https://www.gittip.com/uptomax).
372
+ If you feel particularily generous, you can support the author by donating a couple bucks a week at [GitTip](https://www.gittip.com/uptomax).
373
373
 
374
374
  ## Useful links
375
375
 
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ Dir[File.join(File.dirname(__FILE__), './lib/tasks/*.rake')].each { |file| load
8
8
  Dir[File.join(File.dirname(__FILE__), 'tasks/*.rake')].each { |file| load file }
9
9
 
10
10
  YARD::Rake::YardocTask.new do |t|
11
- t.options = ['--title', "Netzke Core #{Netzke::Core::Version::STRING}"]
11
+ t.options = ['--title', "Netzke Core #{Netzke::Core::VERSION}"]
12
12
  end
13
13
 
14
14
  namespace :yard do
data/lib/netzke/base.rb CHANGED
@@ -141,6 +141,9 @@ module Netzke
141
141
 
142
142
  # Build complete component configuration
143
143
  configure(config)
144
+
145
+ # Check whether the config is valid
146
+ validate_config(config)
144
147
  end
145
148
 
146
149
  def i18n_id
@@ -63,7 +63,7 @@ module Netzke
63
63
  def method_missing(name, *args)
64
64
  if name =~ /(.+)=$/
65
65
  value = args.first
66
- @properties[$1.to_sym] = value.is_a?(String) && value =~ /^\s*function/ ? ActiveSupport::JSON::Variable.new(value) : value
66
+ @properties[$1.to_sym] = value.is_a?(String) && value =~ /^\s*function/ ? Netzke::Core::JsonLiteral.new(value) : value
67
67
  else
68
68
  @properties[name.to_sym]
69
69
  end
@@ -61,6 +61,15 @@ module Netzke::Core
61
61
 
62
62
  protected
63
63
 
64
+ # Override to validate configuration and raise eventual exceptions
65
+ # E.g.:
66
+ #
67
+ # def validate_config(c)
68
+ # raise ArgumentError, "Grid requires a model" if c.model.nil?
69
+ # end
70
+ def validate_config(c)
71
+ end
72
+
64
73
  # During the normalization of config object, +extend_item+ is being called with each item found (recursively) in there.
65
74
  # For example, symbols representing nested child components get replaced with a proper config hash, same goes for actions (see +Composition+ and +Actions+ respectively).
66
75
  # Override to do any additional checks/enhancements. See, for example, +Netzke::Basepack::WrapLazyLoaded+ or +Netzke::Basepack::Fields+.
@@ -0,0 +1,4 @@
1
+ class Netzke::Core::JsonLiteral < String
2
+ def as_json(options = nil) self end #:nodoc:
3
+ def encode_json(encoder) self end #:nodoc:
4
+ end
@@ -97,7 +97,7 @@ module Netzke
97
97
  tid: request.tid,
98
98
  action: component_name,
99
99
  method: request.endpoint,
100
- result: ActiveSupport::JSON::Variable.new(endpoint_response.netzke_jsonify.to_json)
100
+ result: Netzke::Core::JsonLiteral.new(endpoint_response.netzke_jsonify.to_json)
101
101
  }
102
102
  end
103
103
 
@@ -9,7 +9,7 @@ class Hash
9
9
 
10
10
  def netzke_jsonify
11
11
  self.inject({}) do |h,(k,v)|
12
- new_key = if k.is_a?(ActiveSupport::JSON::Variable)
12
+ new_key = if k.is_a?(Netzke::Core::JsonLiteral)
13
13
  k
14
14
  elsif k.is_a?(String)
15
15
  k.camelize(:lower)
@@ -35,7 +35,7 @@ class Hash
35
35
  end
36
36
 
37
37
  def netzke_literalize_keys
38
- netzke_update_keys{ |k| ActiveSupport::JSON::Variable.new(k.to_s) }
38
+ netzke_update_keys{ |k| Netzke::Core::JsonLiteral.new(k.to_s) }
39
39
  self
40
40
  end
41
41
  end
@@ -1,12 +1,5 @@
1
1
  module Netzke
2
2
  module Core
3
- module Version
4
- MAJOR = 0
5
- MINOR = 9
6
- PATCH = 0
7
- PRE = 'rc1'
8
-
9
- STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
10
- end
3
+ VERSION = "0.9.0"
11
4
  end
12
5
  end
data/lib/netzke/core.rb CHANGED
@@ -6,7 +6,7 @@ module Netzke
6
6
  # You can configure Netzke::Core like this:
7
7
  #
8
8
  # Netzke::Core.setup do |config|
9
- # config.ext_location = "/home/netzke/ext-4.1.1"
9
+ # config.ext_path = "/home/netzke/ext-4.1.1"
10
10
  # config.icons_uri = "/images/famfamfam/icons"
11
11
  # # ...
12
12
  # end
@@ -25,6 +25,7 @@ module Netzke
25
25
  autoload :ClientClass, 'netzke/core/client_class'
26
26
  autoload :CssConfig, 'netzke/core/css_config'
27
27
  autoload :ConfigToDslDelegator, 'netzke/core/config_to_dsl_delegator'
28
+ autoload :JsonLiteral, 'netzke/core/json_literal'
28
29
 
29
30
  # :ext (or :touch - when and if ever implemented)
30
31
  mattr_accessor :platform
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netzke-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0.rc1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Gorin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-01 00:00:00.000000000 Z
11
+ date: 2014-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uglifier
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '3.2'
61
+ version: 3.2.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: '3.2'
68
+ version: 3.2.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -162,6 +162,7 @@ files:
162
162
  - lib/netzke/core/endpoint_response.rb
163
163
  - lib/netzke/core/html.rb
164
164
  - lib/netzke/core/javascript.rb
165
+ - lib/netzke/core/json_literal.rb
165
166
  - lib/netzke/core/panel.rb
166
167
  - lib/netzke/core/plugins.rb
167
168
  - lib/netzke/core/railz/action_view_ext/ext.rb