active_presenter 2.0.0a → 3.2.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/README CHANGED
@@ -91,6 +91,8 @@ Note that if any of your after_save callbacks return false, the rest of them wil
91
91
 
92
92
  ActivePresenter was created, and is maintained by {Daniel Haran}[http://danielharan.com] and {James Golick}[http://jamesgolick.com] on the train ride to {RubyFringe}[http://rubyfringe.com] from Montreal.
93
93
 
94
+ ActivePresenter for Rails 3 is currently maintained by {Josh Martin}[http://github.com/skiz] and {Johnno Loggie}[http://github.com/johnno]
95
+
94
96
  == License
95
97
 
96
98
  ActivePresenter is available under the {MIT License}[http://en.wikipedia.org/wiki/MIT_License]
@@ -12,7 +12,7 @@ module ActivePresenter
12
12
 
13
13
  define_model_callbacks :validation, :save
14
14
 
15
- class_inheritable_accessor :presented
15
+ class_attribute :presented
16
16
  self.presented = {}
17
17
 
18
18
  # Indicates which models are to be presented by this presenter.
@@ -39,7 +39,8 @@ module ActivePresenter
39
39
  send(t).errors
40
40
  end
41
41
 
42
- presented[t] = types_and_classes[t]
42
+ # We must reassign in derrived classes rather than mutating the attribute in Base
43
+ self.presented = self.presented.merge(t => types_and_classes[t])
43
44
  end
44
45
  end
45
46
 
@@ -217,7 +218,7 @@ module ActivePresenter
217
218
  def id # :nodoc:
218
219
  nil
219
220
  end
220
-
221
+
221
222
  def new_record?
222
223
  presented_instances.map(&:new_record?).all?
223
224
  end
@@ -272,6 +273,5 @@ module ActivePresenter
272
273
  flat_attribute = {flatten_attribute_name(name, presentable) => ''} #remove_att... normally takes a hash, so we use a ''
273
274
  presented[presentable].new.send(:sanitize_for_mass_assignment, flat_attribute).empty?
274
275
  end
275
-
276
276
  end
277
277
  end
@@ -1,10 +1,9 @@
1
1
  module ActivePresenter
2
2
  module VERSION
3
- MAJOR = 2
4
- MINOR = 0
5
- TINY = 0
6
- EXTRA = "a"
3
+ MAJOR = 3
4
+ MINOR = 2
5
+ TINY = 2
7
6
 
8
- STRING = [MAJOR, MINOR, TINY].join('.') + EXTRA
7
+ STRING = [MAJOR, MINOR, TINY].join('.')
9
8
  end
10
9
  end
@@ -84,6 +84,11 @@ class EndingWithSPresenter < ActivePresenter::Base
84
84
  presents :address
85
85
  end
86
86
 
87
+ class HistoricalPresenter < ActivePresenter::Base
88
+ presents :user, :history
89
+ attr_accessible :history_comment
90
+ end
91
+
87
92
  class CantSavePresenter < ActivePresenter::Base
88
93
  presents :address
89
94
 
metadata CHANGED
@@ -1,34 +1,23 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: active_presenter
3
- version: !ruby/object:Gem::Version
4
- hash: 10
5
- prerelease: 5
6
- segments:
7
- - 2
8
- - 0
9
- - 0
10
- - a
11
- version: 2.0.0a
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.2.2
5
+ prerelease:
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - James Golick & Daniel Haran
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2011-09-26 00:00:00 -07:00
20
- default_executable:
12
+ date: 2012-08-27 00:00:00.000000000 Z
21
13
  dependencies: []
22
-
23
- description: ActivePresenter is the presenter library you already know! (...if you know ActiveRecord)
14
+ description: ActivePresenter is the presenter library you already know! (...if you
15
+ know ActiveRecord)
24
16
  email: james@giraffesoft.ca
25
17
  executables: []
26
-
27
18
  extensions: []
28
-
29
19
  extra_rdoc_files: []
30
-
31
- files:
20
+ files:
32
21
  - README
33
22
  - LICENSE
34
23
  - Rakefile
@@ -40,43 +29,29 @@ files:
40
29
  - test/base_test.rb
41
30
  - test/lint_test.rb
42
31
  - test/test_helper.rb
43
- has_rdoc: true
44
32
  homepage: http://jamesgolick.com/active_presenter
45
33
  licenses: []
46
-
47
34
  post_install_message:
48
35
  rdoc_options: []
49
-
50
- require_paths:
36
+ require_paths:
51
37
  - lib
52
- required_ruby_version: !ruby/object:Gem::Requirement
38
+ required_ruby_version: !ruby/object:Gem::Requirement
53
39
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 61
58
- segments:
59
- - 1
60
- - 8
61
- - 5
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
62
43
  version: 1.8.5
63
- required_rubygems_version: !ruby/object:Gem::Requirement
44
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
45
  none: false
65
- requirements:
66
- - - ">"
67
- - !ruby/object:Gem::Version
68
- hash: 25
69
- segments:
70
- - 1
71
- - 3
72
- - 1
73
- version: 1.3.1
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
74
50
  requirements: []
75
-
76
51
  rubyforge_project: active_presenter
77
- rubygems_version: 1.3.9.3
52
+ rubygems_version: 1.8.10
78
53
  signing_key:
79
54
  specification_version: 3
80
- summary: ActivePresenter is the presenter library you already know! (...if you know ActiveRecord)
55
+ summary: ActivePresenter is the presenter library you already know! (...if you know
56
+ ActiveRecord)
81
57
  test_files: []
82
-