extended_string 0.1.4

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/.document ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/.gitignore ADDED
@@ -0,0 +1,21 @@
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
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Mariusz Wyrozębski
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,134 @@
1
+ = extended_string
2
+
3
+ Intention for this gem is to follow step by step how to create the very gem from the scratch. It will add one method to
4
+ standard String class. I intend to put some tests, release couple of versions, and so on...
5
+
6
+ == Preconfig
7
+
8
+ === Install Rails
9
+
10
+ I do prefer using rvm for this task, but it can be done as it is. If you know how to use rvm, then you will not
11
+ need any guidance.
12
+
13
+ gem install rails --no-ri --no-rdoc
14
+ gem install jeweler
15
+
16
+ Currently I'm working on version 3.0.1
17
+
18
+ === Configure Git
19
+ You need to configure some git settings, before you use jeweler to create first gem.
20
+
21
+ git config --global github.user m4risU
22
+ git config --global github.token 227addfh048cgfbbda2060dc8e9233a6 (don't worry, this is not my key, but you have
23
+ to use yours)
24
+ Probably you will find it in here:
25
+
26
+ https://github.com/account in Account Admin
27
+
28
+ === Generate the gem project
29
+
30
+ jeveler enhanced_string
31
+
32
+ Good. We are here! What can we do next?
33
+
34
+ === Rake tasks
35
+
36
+ As I already know, rake tasks will be the key to build the gem. so lets try
37
+
38
+ rake -T
39
+
40
+ It will give the following
41
+
42
+ rake build # Build gem
43
+ rake check_dependencies # Check that runtime and development d...
44
+ rake check_dependencies:development # Check that development dependencies ...
45
+ rake check_dependencies:runtime # Check that runtime dependencies are ...
46
+ rake clobber_rdoc # Remove rdoc products
47
+ rake gemcutter:release # Release gem to Gemcutter
48
+ rake gemspec # Generate and validates gemspec
49
+ rake gemspec:debug # Display the gemspec for debugging pu...
50
+ rake gemspec:generate # Generates the gemspec, using version...
51
+ rake gemspec:validate # Validates the gemspec
52
+ rake git:release # Tag a release in Git
53
+ rake github:release # Release Gem to GitHub
54
+ rake install # Install gem using sudo
55
+ rake rdoc # Build the rdoc HTML Files
56
+ rake release # Release gem
57
+ rake rerdoc # Force a rebuild of the RDOC files
58
+ rake test # Run tests
59
+ rake version # Displays the current version
60
+ rake version:bump:major # Bump the gemspec by a major version.
61
+ rake version:bump:minor # Bump the gemspec by a minor version.
62
+ rake version:bump:patch # Bump the gemspec by a patch version.
63
+ rake version:write # Writes out an explicit version.
64
+
65
+ === Install the gem locally
66
+
67
+ To do this we need to write the very first version.
68
+
69
+ rake version:write MAJOR=0 MINOR=1 PATCH=0
70
+
71
+ and after that
72
+
73
+ rake install
74
+
75
+ === First issues
76
+
77
+ After previous line I run into following problem:
78
+
79
+ "FIXME" or "TODO" is not a description
80
+
81
+ Oh, yes! I didn't look carefully on Rakefile file.
82
+
83
+ There was auot generated line: s.description = %q{TODO: longer description of your gem}
84
+ You know how to fix it I hope :)
85
+
86
+ === RVM and system rubies
87
+
88
+ When using rvm, it is enough, but in other cases, it is possible you will need to use
89
+
90
+ sudo rake install
91
+
92
+ Just remember about that.
93
+
94
+ === I'm ready!
95
+
96
+ You want to get the world amazed with your work? Try this!
97
+
98
+ rake release
99
+
100
+ === Project do not exist yet on github?
101
+
102
+ Ok, How to start with it?
103
+ I simply went to my git account and created project extended_string, then From command line after commits to local repo
104
+
105
+ git push origin master
106
+
107
+ === Test my work with rvm
108
+
109
+ >rvm install ree
110
+ >rvm --create ree@foo
111
+
112
+ I will not worry about this gemset, but I want to check if I can install my gem from gems.
113
+
114
+ I got after following
115
+ > gem install extended_string
116
+ ERROR: Could not find a valid gem 'extended_string' (>= 0) in any repository
117
+
118
+ === References
119
+
120
+ http://github.com/technicalpickles/jeweler
121
+
122
+ == Note on Patches/Pull Requests
123
+
124
+ * Fork the project.
125
+ * Make your feature addition or bug fix.
126
+ * Add tests for it. This is important so I don't break it in a
127
+ future version unintentionally.
128
+ * Commit, do not mess with rakefile, version, or history.
129
+ (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)
130
+ * Send me a pull request. Bonus points for topic branches.
131
+
132
+ == Copyright
133
+
134
+ Copyright (c) 2010 Mariusz Wyrozębski. See LICENSE for details.
data/Rakefile ADDED
@@ -0,0 +1,53 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "extended_string"
8
+ gem.summary = %Q{Extends your standard String class}
9
+ gem.description = %Q{Extends your standard String class, Adds leet method that does the leet talk}
10
+ gem.email = "mariuszwyrozebski@gmail.com"
11
+ gem.homepage = "http://github.com/m4risU/extended_string"
12
+ gem.authors = ["Mariusz Wyrozębski"]
13
+ gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
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"
19
+ end
20
+
21
+ require 'rake/testtask'
22
+ Rake::TestTask.new(:test) do |test|
23
+ test.libs << 'lib' << 'test'
24
+ test.pattern = 'test/**/test_*.rb'
25
+ test.verbose = true
26
+ end
27
+
28
+ begin
29
+ require 'rcov/rcovtask'
30
+ Rcov::RcovTask.new do |test|
31
+ test.libs << 'test'
32
+ test.pattern = 'test/**/test_*.rb'
33
+ test.verbose = true
34
+ end
35
+ rescue LoadError
36
+ task :rcov do
37
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
38
+ end
39
+ end
40
+
41
+ task :test => :check_dependencies
42
+
43
+ task :default => :test
44
+
45
+ require 'rake/rdoctask'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
+
49
+ rdoc.rdoc_dir = 'rdoc'
50
+ rdoc.title = "extended_string #{version}"
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.4
@@ -0,0 +1,54 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{extended_string}
8
+ s.version = "0.1.4"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Mariusz Wyroz\304\231bski"]
12
+ s.date = %q{2010-10-21}
13
+ s.description = %q{Extends your standard String class, Adds leet method that does the leet talk}
14
+ s.email = %q{mariuszwyrozebski@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "extended_string.gemspec",
27
+ "lib/extended_string.rb",
28
+ "test/helper.rb",
29
+ "test/test_extended_string.rb"
30
+ ]
31
+ s.homepage = %q{http://github.com/m4risU/extended_string}
32
+ s.rdoc_options = ["--charset=UTF-8"]
33
+ s.require_paths = ["lib"]
34
+ s.rubygems_version = %q{1.3.7}
35
+ s.summary = %q{Extends your standard String class}
36
+ s.test_files = [
37
+ "test/helper.rb",
38
+ "test/test_extended_string.rb"
39
+ ]
40
+
41
+ if s.respond_to? :specification_version then
42
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43
+ s.specification_version = 3
44
+
45
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
+ s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
47
+ else
48
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
49
+ end
50
+ else
51
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
52
+ end
53
+ end
54
+
@@ -0,0 +1,12 @@
1
+ String.class_eval do
2
+ EXT_HOME_LETTERS = "letzsabBo"
3
+ EXT_BASE_LETTERS = "137254680"
4
+ def leet
5
+ copy_of_self = self.clone
6
+ symbols = EXT_HOME_LETTERS.chars.to_a.zip(EXT_BASE_LETTERS.chars.to_a)
7
+ symbols.each do |base,home|
8
+ copy_of_self.gsub!(base,home)
9
+ end
10
+ copy_of_self
11
+ end
12
+ end
data/test/helper.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
7
+ require 'extended_string'
8
+
9
+ class Test::Unit::TestCase
10
+ end
@@ -0,0 +1,16 @@
1
+ require 'helper'
2
+
3
+ class TestExtendedString < Test::Unit::TestCase
4
+
5
+ should "change leet into 1337" do
6
+ assert_equal "1337", "leet".leet
7
+ end
8
+
9
+ should "change alien into 41i3n" do
10
+ assert_equal "41i3n", "alien".leet
11
+ end
12
+
13
+ # should "probably rename this file and start testing for real" do
14
+ # flunk "hey buddy, you should probably rename this file and start testing for real"
15
+ # end
16
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: extended_string
3
+ version: !ruby/object:Gem::Version
4
+ hash: 19
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 4
10
+ version: 0.1.4
11
+ platform: ruby
12
+ authors:
13
+ - "Mariusz Wyroz\xC4\x99bski"
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-10-21 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: thoughtbot-shoulda
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ description: Extends your standard String class, Adds leet method that does the leet talk
36
+ email: mariuszwyrozebski@gmail.com
37
+ executables: []
38
+
39
+ extensions: []
40
+
41
+ extra_rdoc_files:
42
+ - LICENSE
43
+ - README.rdoc
44
+ files:
45
+ - .document
46
+ - .gitignore
47
+ - LICENSE
48
+ - README.rdoc
49
+ - Rakefile
50
+ - VERSION
51
+ - extended_string.gemspec
52
+ - lib/extended_string.rb
53
+ - test/helper.rb
54
+ - test/test_extended_string.rb
55
+ has_rdoc: true
56
+ homepage: http://github.com/m4risU/extended_string
57
+ licenses: []
58
+
59
+ post_install_message:
60
+ rdoc_options:
61
+ - --charset=UTF-8
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ hash: 3
70
+ segments:
71
+ - 0
72
+ version: "0"
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ hash: 3
79
+ segments:
80
+ - 0
81
+ version: "0"
82
+ requirements: []
83
+
84
+ rubyforge_project:
85
+ rubygems_version: 1.3.7
86
+ signing_key:
87
+ specification_version: 3
88
+ summary: Extends your standard String class
89
+ test_files:
90
+ - test/helper.rb
91
+ - test/test_extended_string.rb