private_attr 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3fe27ad01f2e233e9d5422b483cfeef78abe6ac5
4
+ data.tar.gz: 09790254ddce8d6828c3a73cff4446edb3de33c6
5
+ SHA512:
6
+ metadata.gz: 6921dcd2d484d73587154668ea5e99ac1c3e5586d1600c487d02388b1e9348342a0794cc20305e5e307c9f2cb70c717123a7c767d8a3be531c1f4390a61d0d24
7
+ data.tar.gz: 5ccea01bdb065d1dda91d50568f1b2df5d088b20974774ab84c39a5f41e0903bb06baf0fb1de3dc2427e3f11e83524a086d1787b60e8a639b6a452f509801a23
@@ -1,3 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
+ - 2.0.0
5
+ - 2.1
6
+ - 2.2
data/Gemfile CHANGED
@@ -1,5 +1,2 @@
1
1
  source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in private_attr.gemspec
4
2
  gemspec
5
- gem 'rake'
data/Rakefile CHANGED
@@ -4,6 +4,7 @@ require 'rake/testtask'
4
4
  Rake::TestTask.new do |t|
5
5
  t.name = 'spec'
6
6
  t.pattern = 'spec/**/*_spec.rb'
7
+ t.warning = true
7
8
  end
8
9
 
9
10
  task default: :spec
@@ -1,33 +1,35 @@
1
1
  require "private_attr/version"
2
2
 
3
3
  module PrivateAttr
4
+ module_function
5
+
4
6
  def private_attr_accessor *attr
5
- private_attr_reader *attr
6
- private_attr_writer *attr
7
+ private_attr_reader(*attr)
8
+ private_attr_writer(*attr)
7
9
  end
8
10
 
9
11
  def private_attr_reader *attr
10
- attr_reader *attr
11
- private *attr
12
+ attr_reader(*attr)
13
+ private(*attr)
12
14
  end
13
15
 
14
16
  def private_attr_writer *attr
15
- attr_writer *attr
16
- private *attr.map { |a| "#{a}=" }
17
+ attr_writer(*attr)
18
+ private(*attr.map { |a| "#{a}=" })
17
19
  end
18
20
 
19
21
  def protected_attr_accessor *attr
20
- protected_attr_reader *attr
21
- protected_attr_writer *attr
22
+ protected_attr_reader(*attr)
23
+ protected_attr_writer(*attr)
22
24
  end
23
25
 
24
26
  def protected_attr_reader *attr
25
- attr_reader *attr
26
- protected *attr
27
+ attr_reader(*attr)
28
+ protected(*attr)
27
29
  end
28
30
 
29
31
  def protected_attr_writer *attr
30
- attr_writer *attr
31
- protected *attr.map { |a| "#{a}=" }
32
+ attr_writer(*attr)
33
+ protected(*attr.map { |a| "#{a}=" })
32
34
  end
33
35
  end
@@ -1,3 +1,3 @@
1
1
  module PrivateAttr
2
- VERSION = "0.1.1"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -17,4 +17,7 @@ Gem::Specification.new do |gem|
17
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
+
21
+ gem.add_development_dependency 'minitest', '~> 5.0'
22
+ gem.add_development_dependency 'rake', '~> 10.0'
20
23
  end
@@ -242,4 +242,10 @@ describe PrivateAttr do
242
242
  other.instance_variable_get('@writer').must_equal value
243
243
  end
244
244
  end
245
+
246
+ describe 'method visibility' do
247
+ it 'extending classes does not increase their public APIs' do
248
+ PrivateDummy.public_methods.wont_include :private_attr_accessor
249
+ end
250
+ end
245
251
  end
metadata CHANGED
@@ -1,16 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: private_attr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jacob Swanner
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-29 00:00:00.000000000 Z
13
- dependencies: []
11
+ date: 2015-02-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
14
41
  description: Easily create private/protected attribute readers/writers
15
42
  email:
16
43
  - jacob@jacobswanner.com
@@ -18,8 +45,8 @@ executables: []
18
45
  extensions: []
19
46
  extra_rdoc_files: []
20
47
  files:
21
- - .gitignore
22
- - .travis.yml
48
+ - ".gitignore"
49
+ - ".travis.yml"
23
50
  - Gemfile
24
51
  - LICENSE.txt
25
52
  - README.md
@@ -31,27 +58,27 @@ files:
31
58
  homepage: https://github.com/jswanner/private_attr
32
59
  licenses:
33
60
  - MIT
61
+ metadata: {}
34
62
  post_install_message:
35
63
  rdoc_options: []
36
64
  require_paths:
37
65
  - lib
38
66
  required_ruby_version: !ruby/object:Gem::Requirement
39
- none: false
40
67
  requirements:
41
- - - ! '>='
68
+ - - ">="
42
69
  - !ruby/object:Gem::Version
43
70
  version: '0'
44
71
  required_rubygems_version: !ruby/object:Gem::Requirement
45
- none: false
46
72
  requirements:
47
- - - ! '>='
73
+ - - ">="
48
74
  - !ruby/object:Gem::Version
49
75
  version: '0'
50
76
  requirements: []
51
77
  rubyforge_project:
52
- rubygems_version: 1.8.23
78
+ rubygems_version: 2.2.2
53
79
  signing_key:
54
- specification_version: 3
80
+ specification_version: 4
55
81
  summary: Easily create private/protected attribute readers/writers
56
82
  test_files:
57
83
  - spec/private_attr_spec.rb
84
+ has_rdoc: