properties 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,16 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem "rspec", "~> 2.6.0"
10
+ gem "rspec-cleanup", "~> 1.0.0"
11
+ gem "yard", "~> 0.6.0"
12
+ gem "bundler", "~> 1.0.0"
13
+ gem "jeweler", "~> 1.6.4"
14
+ gem "rcov", ">= 0"
15
+ gem "facets", "~> 2.9.2"
16
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,36 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.3)
5
+ facets (2.9.2)
6
+ git (1.2.5)
7
+ jeweler (1.6.4)
8
+ bundler (~> 1.0)
9
+ git (>= 1.2.5)
10
+ rake
11
+ rake (0.9.2)
12
+ rcov (0.9.10)
13
+ rcov (0.9.10-java)
14
+ rspec (2.6.0)
15
+ rspec-core (~> 2.6.0)
16
+ rspec-expectations (~> 2.6.0)
17
+ rspec-mocks (~> 2.6.0)
18
+ rspec-cleanup (1.0.0)
19
+ rspec-core (2.6.4)
20
+ rspec-expectations (2.6.0)
21
+ diff-lcs (~> 1.1.2)
22
+ rspec-mocks (2.6.0)
23
+ yard (0.6.8)
24
+
25
+ PLATFORMS
26
+ java
27
+ ruby
28
+
29
+ DEPENDENCIES
30
+ bundler (~> 1.0.0)
31
+ facets (~> 2.9.2)
32
+ jeweler (~> 1.6.4)
33
+ rcov
34
+ rspec (~> 2.6.0)
35
+ rspec-cleanup (~> 1.0.0)
36
+ yard (~> 0.6.0)
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Niclas Nilsson
1
+ Copyright (c) 2011 Niclas Nilsson
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.rdoc CHANGED
@@ -1,17 +1,19 @@
1
1
  = properties
2
2
 
3
- This gem is about defining and using properties i Ruby.
3
+ Description goes here.
4
4
 
5
- == Note on Patches/Pull Requests
5
+ == Contributing to properties
6
6
 
7
- * Fork the project.
8
- * Make your feature addition or bug fix.
9
- * Add tests for it. This is important so I don't break it in a
10
- future version unintentionally.
11
- * Commit, do not mess with rakefile, version, or history.
12
- (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
13
- * Send me a pull request. Bonus points for topic branches.
7
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
9
+ * Fork the project
10
+ * Start a feature/bugfix branch
11
+ * Commit and push until you are happy with your contribution
12
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
14
 
15
15
  == Copyright
16
16
 
17
- Copyright (c) 2010 Niclas Nilsson. See LICENSE for details.
17
+ Copyright (c) 2011 Niclas Nilsson. See LICENSE.txt for
18
+ further details.
19
+
data/Rakefile CHANGED
@@ -1,45 +1,42 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
2
12
  require 'rake'
3
13
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "properties"
8
- gem.summary = %Q{Ruby properties}
9
- gem.description = %Q{Properties handling in Ruby}
10
- gem.email = "niclas@niclasnilsson.se"
11
- gem.homepage = "http://github.com/niclasnilsson/properties"
12
- gem.authors = ["Niclas Nilsson"]
13
- gem.add_development_dependency "rspec", ">= 1.2.9"
14
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
- end
16
- Jeweler::GemcutterTasks.new
17
- rescue LoadError
18
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "properties"
18
+ gem.homepage = "http://github.com/niclasnilsson/properties"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{Properties with metadata for your classes and objects}
21
+ gem.description = %Q{Properties with metadata for your classes and objects}
22
+ gem.email = "niclas@niclasnilsson.se"
23
+ gem.authors = ["Niclas Nilsson"]
24
+ # dependencies defined in Gemfile
19
25
  end
26
+ Jeweler::RubygemsDotOrgTasks.new
20
27
 
21
- require 'spec/rake/spectask'
22
- Spec::Rake::SpecTask.new(:spec) do |spec|
23
- spec.libs << 'lib' << 'spec'
24
- spec.spec_files = FileList['spec/**/*_spec.rb']
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
25
32
  end
26
33
 
27
- Spec::Rake::SpecTask.new(:rcov) do |spec|
28
- spec.libs << 'lib' << 'spec'
34
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
29
35
  spec.pattern = 'spec/**/*_spec.rb'
30
36
  spec.rcov = true
31
37
  end
32
38
 
33
- task :spec => :check_dependencies
34
-
35
39
  task :default => :spec
36
40
 
37
- require 'rake/rdoctask'
38
- Rake::RDocTask.new do |rdoc|
39
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
-
41
- rdoc.rdoc_dir = 'rdoc'
42
- rdoc.title = "properties #{version}"
43
- rdoc.rdoc_files.include('README*')
44
- rdoc.rdoc_files.include('lib/**/*.rb')
45
- end
41
+ require 'yard'
42
+ YARD::Rake::YardocTask.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
data/lib/properties.rb CHANGED
@@ -1,65 +1,88 @@
1
1
  require 'facets'
2
-
2
+
3
3
  module Properties
4
4
  class Property
5
- attr_reader :name, :kind
6
-
7
- def initialize name, kind
5
+ attr_reader :name, :kind, :is_collection
6
+
7
+ def initialize name, kind, is_collection
8
8
  @name = name
9
9
  @kind = kind
10
+ @is_collection = is_collection
10
11
  end
11
12
  end
12
-
13
-
14
13
  end
15
-
14
+
16
15
  module Properties
17
16
  class Value
18
17
  attr_reader :property
19
18
  attr_accessor :value
20
-
19
+
21
20
  def initialize value, property
22
21
  @value = value
23
22
  @property = property
24
23
  end
25
24
  end
26
25
  end
27
-
28
-
26
+
29
27
  module Properties
30
28
  class PropertyError < RuntimeError
31
29
  end
32
30
  end
31
+
32
+ def property name, kind, is_collection = false
33
+ classname = eval kind.to_s.camelcase
33
34
 
34
- def property name, kind
35
35
  @__properties__ ||= {}
36
- @__properties__[name] = Properties::Property.new(name, kind)
37
-
36
+ @__properties__[name] = Properties::Property.new(name, kind, is_collection)
37
+ @is_collection = is_collection
38
+
38
39
  def __properties__
39
- @__properties__
40
+ @__properties__
40
41
  end
42
+
41
43
 
42
-
43
- self.send :define_method, :__set_value__ do |name, value|
44
- @__property_values__ ||= {}
44
+ if is_collection
45
+ code = "
46
+ def #{name}
47
+ @#{name} ||= []
48
+ @#{name}
49
+ end
50
+ "
51
+ eval code
45
52
 
46
- property = self.class.__properties__[name]
47
-
48
- c = eval property.kind.to_s.camelcase(true)
49
- raise Properties::PropertyError.new("Can't set value (#{value}) to property #{name} since it's not a #{kind}") if not value.kind_of?(c)
50
-
51
- @__property_values__[name] = Properties::Value.new(value, self.class.__properties__[name])
52
- end
53
-
54
- self.send :define_method, "#{name}=" do |value|
55
- __set_value__(name, value)
56
- end
53
+ code = "
54
+ def #{name}=(values)
55
+ values ||= []
56
+ values.each do |value|
57
+ raise Properties::PropertyError.new(\"Can't set value (\#{value.inspect}) to property #{name} since not all elements are a #{classname}\") if not value.kind_of?(#{classname})
58
+ end
59
+
60
+ @#{name} = values
61
+ end
62
+ "
63
+ eval code
57
64
 
58
- self.send :define_method, "#{name}" do
59
- @__property_values__ ||= {}
60
-
61
- return nil if @__property_values__[name].nil?
62
- @__property_values__[name].value
65
+ else
66
+ code = "
67
+ def #{name}
68
+ @#{name}
69
+ end
70
+ "
71
+ eval code
72
+
73
+ code = "
74
+ def #{name}=(value)
75
+ raise Properties::PropertyError.new(\"Can't set value (\#{value}.inspect) to property #{name} since it's not a #{classname}\") if not value.kind_of?(#{classname})
76
+ @#{name} = value
77
+ end
78
+ "
79
+ eval code
63
80
  end
64
81
 
65
82
  end
83
+
84
+ def collection name, kind
85
+ property name, kind, true
86
+ end
87
+
88
+
data/properties.gemspec CHANGED
@@ -1,55 +1,70 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{properties}
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Niclas Nilsson"]
12
- s.date = %q{2010-05-07}
13
- s.description = %q{Properties handling in Ruby}
12
+ s.date = %q{2011-09-01}
13
+ s.description = %q{Properties with metadata for your classes and objects}
14
14
  s.email = %q{niclas@niclasnilsson.se}
15
15
  s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/properties.rb",
27
- "properties.gemspec",
28
- "spec/properties_spec.rb",
29
- "spec/spec.opts",
30
- "spec/spec_helper.rb"
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "LICENSE.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "lib/properties.rb",
28
+ "properties.gemspec",
29
+ "spec/properties_spec.rb",
30
+ "spec/spec.opts",
31
+ "spec/spec_helper.rb"
31
32
  ]
32
33
  s.homepage = %q{http://github.com/niclasnilsson/properties}
33
- s.rdoc_options = ["--charset=UTF-8"]
34
+ s.licenses = ["MIT"]
34
35
  s.require_paths = ["lib"]
35
- s.rubygems_version = %q{1.3.6}
36
- s.summary = %q{Ruby properties}
37
- s.test_files = [
38
- "spec/properties_spec.rb",
39
- "spec/spec_helper.rb"
40
- ]
36
+ s.rubygems_version = %q{1.3.7}
37
+ s.summary = %q{Properties with metadata for your classes and objects}
41
38
 
42
39
  if s.respond_to? :specification_version then
43
40
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
44
41
  s.specification_version = 3
45
42
 
46
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
47
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
43
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
44
+ s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
45
+ s.add_development_dependency(%q<rspec-cleanup>, ["~> 1.0.0"])
46
+ s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
47
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
49
+ s.add_development_dependency(%q<rcov>, [">= 0"])
50
+ s.add_development_dependency(%q<facets>, ["~> 2.9.2"])
48
51
  else
49
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
52
+ s.add_dependency(%q<rspec>, ["~> 2.6.0"])
53
+ s.add_dependency(%q<rspec-cleanup>, ["~> 1.0.0"])
54
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
55
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
57
+ s.add_dependency(%q<rcov>, [">= 0"])
58
+ s.add_dependency(%q<facets>, ["~> 2.9.2"])
50
59
  end
51
60
  else
52
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
61
+ s.add_dependency(%q<rspec>, ["~> 2.6.0"])
62
+ s.add_dependency(%q<rspec-cleanup>, ["~> 1.0.0"])
63
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
64
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
65
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
66
+ s.add_dependency(%q<rcov>, [">= 0"])
67
+ s.add_dependency(%q<facets>, ["~> 2.9.2"])
53
68
  end
54
69
  end
55
70
 
@@ -28,6 +28,7 @@ describe "a property" do
28
28
  lambda { @person.name = 1 }.should raise_error(Properties::PropertyError)
29
29
  end
30
30
  end
31
+
31
32
 
32
33
  describe "should have a get accessor that" do
33
34
  it "returns the value of the property" do
@@ -38,7 +39,114 @@ describe "a property" do
38
39
  it "returns nil if property has not been set" do
39
40
  Person.new.name.should == nil
40
41
  end
42
+
43
+ end
44
+ end
45
+
46
+ describe "a collection property" do
47
+ cleanup.after_spec
48
+
49
+ before do
50
+ class Computer
51
+ collection :audio_inputs, :string
52
+ end
53
+ @computer = Computer.new
54
+ end
55
+
56
+ it "should be empty by default" do
57
+ @computer = Computer.new.audio_inputs.should == []
58
+ end
59
+
60
+ it "accepts appending of values" do
61
+ @computer.audio_inputs << "line in"
62
+ @computer.audio_inputs << "built-in microphone"
63
+
64
+ @computer.audio_inputs.should == ["line in", "built-in microphone"]
65
+ @computer.audio_inputs.should == ["line in", "built-in microphone"]
66
+ @computer.audio_inputs()[0].should == "line in"
67
+ @computer.audio_inputs()[1].should == "built-in microphone"
68
+ end
69
+
70
+ it "accepts replacing of entire collection" do
71
+ @computer.audio_inputs << "line in"
72
+ @computer.audio_inputs << "microphone"
73
+
74
+ # Overwrite the entire collection
75
+ @computer.audio_inputs = ["usb microphone #1", "usb microphone #2"]
76
+
77
+ @computer.audio_inputs.should == ["usb microphone #1", "usb microphone #2"]
78
+ end
79
+
80
+ it "convert replacing entire collection with nil to an empty collection" do
81
+ @computer.audio_inputs << "line in"
82
+ @computer.audio_inputs.size == 1
83
+ @computer.audio_inputs = nil
84
+ @computer.audio_inputs.should == []
85
+ end
86
+
87
+ it "should reject appending values of wrong type" do
88
+ pending "This needs to hijack the << method on the object (singleton class) or similar"
89
+ lambda { @computer.audio_inputs << 1 }.should raise_error(Properties::PropertyError)
90
+ end
91
+
92
+ it "should reject overwrite of entire collection if new collection contains elements of wrong type" do
93
+ lambda { @computer.audio_inputs = ["line in", 23] }.should raise_error(Properties::PropertyError)
41
94
  end
95
+
42
96
  end
43
97
 
98
+ describe "nested complex types" do
99
+
100
+ cleanup.after_spec
101
+
102
+ before do
103
+ class Partition
104
+ property :name, :string
105
+ end
106
+
107
+ class Disk
108
+ property :name, :string
109
+ property :gigabytes, :integer
110
+ collection :partitions, :partition
111
+ end
112
+
113
+
114
+ class Computer
115
+ property :name, :string
116
+ collection :disks, :Disk
117
+
118
+ end
119
+ @computer = Computer.new
120
+ end
121
+
122
+ it "should work on collections" do
123
+ @computer.name = "My Computer"
124
+ @computer.disks.should == []
125
+ disk0 = Disk.new
126
+ disk0.name = "First disk"
127
+ disk0.gigabytes = 200
128
+
129
+ partition0 = Partition.new
130
+ partition0.name = "p0"
131
+ partition1 = Partition.new
132
+ partition1.name = "p1"
133
+
134
+
135
+ disk1 = Disk.new
136
+ disk1.name = "Second disk"
137
+ disk1.gigabytes = 300
138
+ disk1.partitions = [ partition0, partition1 ]
139
+
140
+
141
+ @computer.disks = [ disk0, disk1 ]
142
+
143
+ @computer.name.should == "My Computer"
144
+ @computer.disks[0].name.should == "First disk"
145
+ @computer.disks[0].gigabytes.should == 200
146
+ @computer.disks[1].name.should == "Second disk"
147
+ @computer.disks[1].gigabytes.should == 300
148
+
149
+ @computer.disks[1].partitions[0].name.should == "p0"
150
+ end
151
+ end
44
152
 
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,12 @@
1
- $LOAD_PATH.unshift(File.dirname(__FILE__))
2
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
3
4
  require 'properties'
4
- require 'spec'
5
- require 'spec/autorun'
6
5
 
7
- Spec::Runner.configure do |config|
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
8
11
 
9
12
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 1
7
+ - 2
8
8
  - 0
9
- version: 0.1.0
9
+ version: 0.2.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Niclas Nilsson
@@ -14,36 +14,126 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-07 00:00:00 +02:00
17
+ date: 2011-09-01 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rspec
22
- prerelease: false
23
22
  requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
24
  requirements:
25
- - - ">="
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 2
29
+ - 6
30
+ - 0
31
+ version: 2.6.0
32
+ type: :development
33
+ prerelease: false
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rspec-cleanup
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 1
44
+ - 0
45
+ - 0
46
+ version: 1.0.0
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: yard
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ segments:
58
+ - 0
59
+ - 6
60
+ - 0
61
+ version: 0.6.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: bundler
67
+ requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ~>
26
71
  - !ruby/object:Gem::Version
27
72
  segments:
28
73
  - 1
74
+ - 0
75
+ - 0
76
+ version: 1.0.0
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ name: jeweler
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ segments:
88
+ - 1
89
+ - 6
90
+ - 4
91
+ version: 1.6.4
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: rcov
97
+ requirement: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ segments:
103
+ - 0
104
+ version: "0"
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: *id006
108
+ - !ruby/object:Gem::Dependency
109
+ name: facets
110
+ requirement: &id007 !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ~>
114
+ - !ruby/object:Gem::Version
115
+ segments:
29
116
  - 2
30
117
  - 9
31
- version: 1.2.9
118
+ - 2
119
+ version: 2.9.2
32
120
  type: :development
33
- version_requirements: *id001
34
- description: Properties handling in Ruby
121
+ prerelease: false
122
+ version_requirements: *id007
123
+ description: Properties with metadata for your classes and objects
35
124
  email: niclas@niclasnilsson.se
36
125
  executables: []
37
126
 
38
127
  extensions: []
39
128
 
40
129
  extra_rdoc_files:
41
- - LICENSE
130
+ - LICENSE.txt
42
131
  - README.rdoc
43
132
  files:
44
133
  - .document
45
- - .gitignore
46
- - LICENSE
134
+ - Gemfile
135
+ - Gemfile.lock
136
+ - LICENSE.txt
47
137
  - README.rdoc
48
138
  - Rakefile
49
139
  - VERSION
@@ -54,21 +144,24 @@ files:
54
144
  - spec/spec_helper.rb
55
145
  has_rdoc: true
56
146
  homepage: http://github.com/niclasnilsson/properties
57
- licenses: []
58
-
147
+ licenses:
148
+ - MIT
59
149
  post_install_message:
60
- rdoc_options:
61
- - --charset=UTF-8
150
+ rdoc_options: []
151
+
62
152
  require_paths:
63
153
  - lib
64
154
  required_ruby_version: !ruby/object:Gem::Requirement
155
+ none: false
65
156
  requirements:
66
157
  - - ">="
67
158
  - !ruby/object:Gem::Version
159
+ hash: 674284784327043654
68
160
  segments:
69
161
  - 0
70
162
  version: "0"
71
163
  required_rubygems_version: !ruby/object:Gem::Requirement
164
+ none: false
72
165
  requirements:
73
166
  - - ">="
74
167
  - !ruby/object:Gem::Version
@@ -78,10 +171,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
171
  requirements: []
79
172
 
80
173
  rubyforge_project:
81
- rubygems_version: 1.3.6
174
+ rubygems_version: 1.3.7
82
175
  signing_key:
83
176
  specification_version: 3
84
- summary: Ruby properties
85
- test_files:
86
- - spec/properties_spec.rb
87
- - spec/spec_helper.rb
177
+ summary: Properties with metadata for your classes and objects
178
+ test_files: []
179
+
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC