htmlgrid 1.1.2 → 1.1.3

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.
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