corelib_ruby 0.0.1 → 0.0.2

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: 81f43b9d5997a0a97fca28b30170a3daa80cf85e
4
- data.tar.gz: 03b01a6f4b0bc6945b778c9f6ffe1cca7533e648
3
+ metadata.gz: 17b35aeb6e7fb200ffb535774468dac2d75de25f
4
+ data.tar.gz: 30448514a1027a1a1dcf8ed22493ce94eb2155ac
5
5
  SHA512:
6
- metadata.gz: d91a73b06d6927c3505d9edfc1b8d26eb8f07ad38fe63b795856a2e67e973270aaa59fd51aeafd9e226f7f9291f5d36fb2eb776c9d54df8a9a5446d397bd9852
7
- data.tar.gz: c0c99f36a9ca23451a6ccabde0437ffb8958eb27330092e0653a21c82b6e814a92dd8b143ce768c0d5624ff7b41d55fe489cb567333139690b0bf12302dee6f0
6
+ metadata.gz: 7eb5262369b395a7d9957efc9bbc54c7c4ce1b1a8b04d12dfe383d9ec969af3ceb12b72451e24cc7580f74a7c091c25452b519bbd3b2840f783d86b49865c434
7
+ data.tar.gz: 8dc812fae83941b43fe73ffe279e82c5195059eecb46cf689064b0f6fb9f8b390e3044b35a6bb888e8ebc0ba5b83570b76395017f5d99eee7922b815b61c2c53
data/.gitignore CHANGED
File without changes
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --color
2
2
  --require spec_helper
3
+ --format documentation
data/.rubocop.yml CHANGED
File without changes
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # CHANGELOG
2
2
 
3
- ## 0.0.1 (Oct 9, 2015)
3
+ ## 0.0.2 (May 06, 2016)
4
+
5
+ 1. (New) Add **Array** methods: `#co_delete!`
6
+ 2. (Change) All methods now have a `co_` prefix to help prevent method name collisions with other libraries.
7
+
8
+ ## 0.0.1 (Oct 09, 2015)
4
9
 
5
10
  1. (New) Added **String** methods: `#first, #first_or_nil, #last, #last_or_nil, #first_words, #force_leading_space, #all_spaces?`
6
11
  2. (New) Added **Hash** methods: `#extract`
data/Gemfile CHANGED
File without changes
data/README.md CHANGED
@@ -33,6 +33,10 @@ Or install it yourself as:
33
33
 
34
34
  Browse the `/lib/corelib_ruby/` directory to find new methods; each method provides extensive document. All of these methods are now available inside your application without any additional configuration.
35
35
 
36
+ ## Conventions
37
+
38
+ All methods are prefixed with `co_` to help prevent collisions with other libraries.
39
+
36
40
  ## Development
37
41
 
38
42
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/Rakefile CHANGED
File without changes
data/bin/console CHANGED
File without changes
data/bin/rubocop CHANGED
File without changes
data/bin/setup CHANGED
File without changes
data/bin/test ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pathname'
4
+
5
+ # path to your application root.
6
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
7
+
8
+ Dir.chdir APP_ROOT do
9
+ system "rspec"
10
+ end
data/corelib_ruby.gemspec CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.10"
22
- spec.add_development_dependency "rake", "~> 10.0"
23
- spec.add_development_dependency "rspec", "~> 3.2.0"
21
+ spec.add_development_dependency "bundler", "~> 1.12"
22
+ spec.add_development_dependency "rake", "~> 11.1"
23
+ spec.add_development_dependency "rspec", "~> 3.4.0"
24
24
  spec.add_development_dependency "pry", "~> 0.10.1"
25
- spec.add_development_dependency "rubocop", "~> 0.34.2"
25
+ spec.add_development_dependency "rubocop", "~> 0.39.0"
26
26
  end
@@ -0,0 +1 @@
1
+ require "corelib_ruby/core_ext/array/delete"
@@ -0,0 +1,14 @@
1
+ class Array
2
+ # Public: Deletes items from the array, but raises an error if the item
3
+ # does not exist.
4
+ #
5
+ # obj: the obj to delete
6
+ def co_delete!(obj)
7
+ # do this check first only if the obj is nil because the
8
+ # cost of include? rises linerarly with the size of the array
9
+ raise ArgumentError if obj.nil? && !include?(nil)
10
+ result = self.delete(obj)
11
+ raise ArgumentError.new("#{obj.inspect} not present in array") if result.nil? && !obj.nil?
12
+ result
13
+ end
14
+ end
File without changes
@@ -7,7 +7,7 @@ class Hash
7
7
  # If key doesn't exist and not default is specified, a KeyError is raised
8
8
  # If key doesn't exists, there is no default, but a block is given, then
9
9
  # that block will be executed with the key.
10
- def extract(*args)
10
+ def co_extract(*args)
11
11
  arg_length = args.length
12
12
  fail ArgumentError, "wrong number of arguments #{arg_length} for 1..2" if arg_length == 0 || arg_length > 2
13
13
  key = args[0]
@@ -1,17 +1,17 @@
1
1
  class String
2
- def first
2
+ def co_first
3
3
  empty? ? "" : self[0, 1]
4
4
  end
5
5
 
6
- def first_or_nil
6
+ def co_first_or_nil
7
7
  empty? ? nil : self[0, 1]
8
8
  end
9
9
 
10
- def last
10
+ def co_last
11
11
  empty? ? "" : self[-1, 1]
12
12
  end
13
13
 
14
- def last_or_nil
14
+ def co_last_or_nil
15
15
  empty? ? nil : self[-1, 1]
16
16
  end
17
17
 
@@ -25,15 +25,15 @@ class String
25
25
  # # => "This is ..."
26
26
  # "This is a test".first_words(2, ellipses: " +++")
27
27
  # # => "This is +++"
28
- def first_words(n=nil, ellipses: false)
28
+ def co_first_words(n=nil, ellipses: false)
29
29
  new_str = n.nil? ? self : split[0...n].join(' ')
30
- elip = determine_ellipses(new_str, ellipses)
30
+ elip = co_determine_ellipses(new_str, ellipses)
31
31
  new_str + "#{elip}"
32
32
  end
33
33
 
34
34
  private
35
35
 
36
- def determine_ellipses(str, ellipses)
36
+ def co_determine_ellipses(str, ellipses)
37
37
  return "" if empty? || !ellipses
38
38
  return "" if str == self
39
39
  ellipses === true ? " ..." : ellipses.to_s
File without changes
@@ -1,6 +1,6 @@
1
1
  class String
2
- def force_leading_space(even_when_empty: false)
2
+ def co_force_leading_space(even_when_empty: false)
3
3
  (return even_when_empty ? " " : "") if empty?
4
- all_spaces? ? dup : " #{lstrip}"
4
+ co_all_spaces? ? dup : " #{lstrip}"
5
5
  end
6
6
  end
@@ -2,7 +2,7 @@ class String
2
2
  # Returns true if a non empty string contains all strict space characters.
3
3
  # Tabs and new lines are not considered spaces.
4
4
  # Returns false for empty strings unless the when_empty: option is set to true.
5
- def all_spaces?(when_empty: false)
5
+ def co_all_spaces?(when_empty: false)
6
6
  return when_empty if empty?
7
7
  each_byte { |x| return false unless x == 32 }
8
8
  true
@@ -1,3 +1,3 @@
1
1
  module CorelibRuby
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/corelib_ruby.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "corelib_ruby/version"
2
2
  require "corelib_ruby/core_ext/string/base"
3
3
  require "corelib_ruby/core_ext/hash/base"
4
+ require "corelib_ruby/core_ext/array/base"
4
5
 
5
6
  # module CorelibRuby
6
7
  # end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: corelib_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - roberts1000
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-09 00:00:00.000000000 Z
11
+ date: 2016-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.10'
19
+ version: '1.12'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.10'
26
+ version: '1.12'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '11.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '11.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 3.2.0
47
+ version: 3.4.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 3.2.0
54
+ version: 3.4.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.34.2
75
+ version: 0.39.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.34.2
82
+ version: 0.39.0
83
83
  description: Useful extensions to ruby core.
84
84
  email:
85
85
  - roberts@corlewsolutions.com
@@ -97,8 +97,11 @@ files:
97
97
  - bin/console
98
98
  - bin/rubocop
99
99
  - bin/setup
100
+ - bin/test
100
101
  - corelib_ruby.gemspec
101
102
  - lib/corelib_ruby.rb
103
+ - lib/corelib_ruby/core_ext/array/base.rb
104
+ - lib/corelib_ruby/core_ext/array/delete.rb
102
105
  - lib/corelib_ruby/core_ext/hash/base.rb
103
106
  - lib/corelib_ruby/core_ext/hash/extract.rb
104
107
  - lib/corelib_ruby/core_ext/string/accessors.rb
@@ -125,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
128
  version: '0'
126
129
  requirements: []
127
130
  rubyforge_project:
128
- rubygems_version: 2.4.8
131
+ rubygems_version: 2.6.4
129
132
  signing_key:
130
133
  specification_version: 4
131
134
  summary: Useful extensions to ruby core.