selectable_attr 0.3.7 → 0.3.11

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/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 7
2
+ :patch: 11
3
3
  :major: 0
4
4
  :minor: 3
@@ -193,7 +193,7 @@ module SelectableAttr
193
193
  end
194
194
  else
195
195
  if context[:default]
196
- $stderr.puts "WARNING! :default option ignored for #{attr}"
196
+ SelectableAttr.logger.warn(":default option ignored for #{attr}")
197
197
  end
198
198
  end
199
199
  end
@@ -153,7 +153,7 @@ module SelectableAttr
153
153
 
154
154
  def inspect
155
155
  # object_idを2倍にしているのは通常のinspectと合わせるためです。
156
- '#<%s:%x @id=%s, @key=%s, @name=%s, @options=%s' % [
156
+ '#<%s:%x @id=%s, @key=%s, @name=%s, @options=%s>' % [
157
157
  self.class.name, object_id * 2, id.inspect, key.inspect, name.inspect, @options.inspect]
158
158
  end
159
159
 
@@ -1,6 +1,17 @@
1
1
  # -*- coding: utf-8 -*-
2
+ require 'logger'
3
+
2
4
  module SelectableAttr
3
5
  autoload :VERSION, 'selectable_attr/version'
4
6
  autoload :Enum, 'selectable_attr/enum'
5
7
  autoload :Base, 'selectable_attr/base'
8
+
9
+ class << self
10
+ def logger
11
+ @logger ||= Logger.new(STDERR)
12
+ end
13
+ def logger=(value)
14
+ @logger = value
15
+ end
16
+ end
6
17
  end
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'spec_helper')
3
+ require 'stringio'
3
4
 
4
5
  describe SelectableAttr do
5
6
 
@@ -419,10 +420,18 @@ describe SelectableAttr do
419
420
  end
420
421
 
421
422
  it "should call attr_accessor_with_default when default are given but attr_accessor is not TRUE" do
422
- $stderr.should_receive(:puts).with("WARNING! :default option ignored for enum1")
423
+ SelectableAttr.logger.should_receive(:warn).with(":default option ignored for enum1")
423
424
  DefiningMock1.define_accessor(:attr => :enum1, :attr_accessor => false, :default => 1)
424
425
  end
425
426
 
427
+ it "warning message to logger" do
428
+ io = StringIO.new
429
+ SelectableAttr.logger = Logger.new(io)
430
+ DefiningMock1.define_accessor(:attr => :enum1, :attr_accessor => false, :default => 1)
431
+ io.rewind
432
+ io.read.should =~ /WARN -- : :default option ignored for enum1$/
433
+ end
434
+
426
435
 
427
436
  end
428
437
 
@@ -126,4 +126,14 @@ describe SelectableAttr::Enum do
126
126
  end
127
127
  end
128
128
 
129
+ describe :inspect do
130
+ it "NULL" do
131
+ SelectableAttr::Enum::Entry::NULL.inspect.should =~ /\#<SelectableAttr::Enum::Entry:[0-9a-f]+\ @id=nil,\ @key=nil,\ @name=nil,\ @options=nil>/
132
+ end
133
+
134
+ it "valid" do
135
+ InetAccess[1].inspect.should =~ /\#<SelectableAttr::Enum::Entry:[0-9a-f]+\ @id=1,\ @key=:email,\ @name="Eメール",\ @options=\{:protocol=>"mailto:"\}>/
136
+ end
137
+ end
138
+
129
139
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selectable_attr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takeshi Akima
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-19 00:00:00 +09:00
12
+ date: 2010-01-14 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15