acts_as_extjs 0.1.1 → 0.1.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/Rakefile CHANGED
@@ -12,6 +12,7 @@ begin
12
12
  gem.authors = ["Marco Scholl"]
13
13
  gem.add_development_dependency "rspec", ">= 1.2.9"
14
14
  gem.add_development_dependency "activerecord", ">= 2.3.8"
15
+ gem.add_development_dependency "will_paginate"
15
16
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
17
  end
17
18
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{acts_as_extjs}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marco Scholl"]
12
- s.date = %q{2010-07-23}
12
+ s.date = %q{2010-07-25}
13
13
  s.description = %q{ActiveRecord Helper for Extjs}
14
14
  s.email = %q{develop@marco-scholl.de}
15
15
  s.extra_rdoc_files = [
@@ -45,13 +45,16 @@ Gem::Specification.new do |s|
45
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
46
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
47
47
  s.add_development_dependency(%q<activerecord>, [">= 2.3.8"])
48
+ s.add_development_dependency(%q<will_paginate>, [">= 0"])
48
49
  else
49
50
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
50
51
  s.add_dependency(%q<activerecord>, [">= 2.3.8"])
52
+ s.add_dependency(%q<will_paginate>, [">= 0"])
51
53
  end
52
54
  else
53
55
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
54
56
  s.add_dependency(%q<activerecord>, [">= 2.3.8"])
57
+ s.add_dependency(%q<will_paginate>, [">= 0"])
55
58
  end
56
59
  end
57
60
 
data/lib/acts_as_extjs.rb CHANGED
@@ -9,7 +9,17 @@ module Extjs #:nodoc:
9
9
  end
10
10
 
11
11
  module ClassMethods
12
+ # activate gem on ar-model with acts_as_extjs
13
+ #
14
+ # -----
15
+ #
16
+ # === Example:
17
+ # class User
18
+ # acts_as_extjs
19
+ # end
20
+ #
12
21
  def acts_as_extjs
22
+ # empty named sop
13
23
  named_scope :extjs
14
24
  include Extjs::ActsAsExtjs::InstanceMethods
15
25
  extend Extjs::ActsAsExtjs::SingletonMethods
@@ -17,6 +27,34 @@ module Extjs #:nodoc:
17
27
  end
18
28
 
19
29
  module SingletonMethods
30
+ # search on a model. the result is a hash that can use as json for extjs store
31
+ #
32
+ # +args+:: all options that you will use on active record finder with following extras
33
+ #
34
+ # -----
35
+ #
36
+ # === Options:
37
+ # <tt>:fields</tt>:: List with hashes like extjs store fields.
38
+ # <tt>:name</tt>:: Name off field. This will be call on row if not use an custom handler
39
+ # <tt>:custom</tt>:: can use with Proc.new for own field content
40
+ # <tt>:mapping</tt>:: Client side mapping by extjs store
41
+ # <tt>:sort_mapping</tt>:: A Hash to map columns
42
+ # :fieldname => "sqlfiels"
43
+ # :user_name => "users.name"
44
+ # <tt>:start</tt>:: start value from extjs paginate toolbar
45
+ # <tt>:limit</tt>:: limit value from extjs paginate toolbar
46
+ # <tt>:page</tt>:: page - will overritten if start/limit set
47
+ # <tt>:per_page</tt>:: per_page - will overritten if start/limit set
48
+ # <tt>:sort_by</tt>:: sort field. ignore fields that are not in sort_mapping and use this mapping
49
+ # <tt>:group_by</tt>:: group field. ignore fields that are not in sort_mapping and use this mapping
50
+ # <tt>:sort_dir</tt>:: direction: asc | desc
51
+ # <tt>:group_dir</tt>:: direction: asc | desc
52
+ #
53
+ # -----
54
+ #
55
+ # === Example:
56
+ # render :json => User.extjs_result :fields = [{:name => :superid, :type => :id, :custom => Proc.new { |row| row.id }}]
57
+ #
20
58
  def extjs_result(*args)
21
59
  options = args.extract_options!
22
60
  fields = options.delete(:fields)
@@ -41,7 +79,6 @@ module Extjs #:nodoc:
41
79
  order = 'created_at DESC'
42
80
  end
43
81
 
44
-
45
82
  if not group_by.blank? and sort_mapping.has_key?(group_by.to_sym)
46
83
  if group_dir.to_s.downcase == "desc"
47
84
  group_dir = " DESC"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_extjs
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marco Scholl
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-23 00:00:00 +02:00
18
+ date: 2010-07-25 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -50,6 +50,20 @@ dependencies:
50
50
  version: 2.3.8
51
51
  type: :development
52
52
  version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: will_paginate
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ type: :development
66
+ version_requirements: *id003
53
67
  description: ActiveRecord Helper for Extjs
54
68
  email: develop@marco-scholl.de
55
69
  executables: []