htmlgrid 1.1.2 → 1.1.3

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: 2847726b7e6ac148bca47055c992b5d330ca670e
4
- data.tar.gz: 5c53eb62fb668b52bc7baab302b6a50127838e6a
3
+ metadata.gz: 429bd52a98041fb93eaca98d1768c33f5b597fcb
4
+ data.tar.gz: feb3061e2a0a4417fad883ab1ad6a7a25d9cbe81
5
5
  SHA512:
6
- metadata.gz: 48861a4c77a5f83517637e23b88200145c0dfe26097d342e06c1d7fe559699a70f3310462647a370e6ee9a6941ee6d42d71557bad0a8a9b15f1c7a9f81007e39
7
- data.tar.gz: f3a7b84c902d5e5615e50e2a602e7c58d789148614205fc0a28e1342b5477dfc468de1a8442909a3afa67cf4c7599427f1b9ba25866436696d5179c8b86b78d1
6
+ metadata.gz: 50a6229fc0748b68ac6673c6e33260b6786c60f2569c41d9399faccba30aadd660667fe38edd1cc9db116751c1accaae004910b01cccee4ed1c7d3c39ec03bc4
7
+ data.tar.gz: 6be80e669e1c8dd1597f30fc77b25410c0020394ede7c7de78aa8fa79fd730b343d89826b43d77eb2ad502665d6cf8f8acdd89614a63c698f29ea2c0e04cf7c1
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ === 1.1.3 / 15.08.2016
2
+
3
+ * Add session variable fallback assignment
4
+
1
5
  === 1.1.2 / 10.08.2016
2
6
 
3
7
  * Fix warnings by syntax or coding style
@@ -51,6 +51,21 @@ module HtmlGrid
51
51
  CSS_ID = nil
52
52
  DEFAULT_CLASS = Value
53
53
  LOOKANDFEEL_MAP = {}
54
+
55
+ def self.component(klass, key, name=nil)
56
+ methname = klass.to_s.downcase.gsub('::', '_') << '_' << key.to_s
57
+ define_method(methname) { |*args|
58
+ model, session = args
59
+ args = [model.send(key), session || @session, self]
60
+ if(name)
61
+ args.unshift(name)
62
+ lookandfeel_map.store(methname.to_sym, name.to_sym)
63
+ end
64
+ klass.new(*args)
65
+ }
66
+ methname.to_sym
67
+ end
68
+
54
69
  def init
55
70
  super
56
71
  setup_grid()
@@ -102,19 +117,6 @@ module HtmlGrid
102
117
  def symbol_map
103
118
  @symbol_map ||= self::class::SYMBOL_MAP.dup
104
119
  end
105
- def AbstractComposite.component(klass, key, name=nil)
106
- methname = klass.to_s.downcase.gsub('::', '_') << '_' << key.to_s
107
- define_method(methname) { |*args|
108
- model, session = args
109
- args = [model.send(key), session, self]
110
- if(name)
111
- args.unshift(name)
112
- lookandfeel_map.store(methname.to_sym, name.to_sym)
113
- end
114
- klass.new(*args)
115
- }
116
- methname.to_sym
117
- end
118
120
  end
119
121
  class TagComposite < AbstractComposite
120
122
  def compose(model=@model)
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: utf-8
3
3
  module HtmlGrid
4
- VERSION = '1.1.2'
4
+ VERSION = '1.1.3'
5
5
  end
@@ -88,6 +88,9 @@ module CompositeTest
88
88
  public :labels?
89
89
  end
90
90
  class StubCompositeModel
91
+ def qux
92
+ 'qux'
93
+ end
91
94
  end
92
95
  class StubCompositeLookandfeel
93
96
  def event_url(one)
@@ -109,6 +112,9 @@ module CompositeTest
109
112
  def error(key)
110
113
  end
111
114
  end
115
+
116
+ class StubCompositeSession2 < StubCompositeSession; end
117
+
112
118
  class StubCompositeForm < HtmlGrid::Form
113
119
  COMPONENTS = {
114
120
  [0, 0] => StubComposite
@@ -141,6 +147,23 @@ module CompositeTest
141
147
  @composite = StubComposite.new(
142
148
  StubCompositeModel.new, StubCompositeSession.new)
143
149
  end
150
+
151
+ def test_component_session_fallback_assignment_without_session_argment
152
+ StubComposite.component(StubComposite, :qux)
153
+ model = StubCompositeModel.new
154
+ session1 = StubCompositeSession.new
155
+ composite = StubComposite.new(model, session1)
156
+ # via instance variable (without argument)
157
+ composite = composite.compositetest_stubcomposite_qux(model)
158
+ assert_kind_of(StubCompositeSession, composite.session)
159
+ assert_equal(session1, composite.session)
160
+ # via argument
161
+ session2 = StubCompositeSession2.new
162
+ composite = composite.compositetest_stubcomposite_qux(model, session2)
163
+ assert_kind_of(StubCompositeSession2, composite.session)
164
+ assert_equal(session2, composite.session)
165
+ end
166
+
144
167
  def test_create_method
145
168
  foo = nil
146
169
  foo = @composite.create(:foo, @composite.model)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: htmlgrid
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masaomi Hatakeyama, Zeno R.R. Davatz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-10 00:00:00.000000000 Z
11
+ date: 2016-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sbsm