falkorlib 0.1.0
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.
- checksums.yaml +7 -0
- data/.falkorlib.noespec +321 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +47 -0
- data/LICENCE.md +22 -0
- data/README.md +118 -0
- data/Rakefile +45 -0
- data/falkorlib.gemspec +207 -0
- data/lib/falkorlib.rb +10 -0
- data/lib/falkorlib/common.rb +130 -0
- data/lib/falkorlib/gitflow.rb +71 -0
- data/lib/falkorlib/loader.rb +3 -0
- data/lib/falkorlib/version.rb +65 -0
- data/spec/falkorlib/common_spec.rb +137 -0
- data/spec/falkorlib/gitflow_spec.rb +64 -0
- data/spec/falkorlib_spec.rb +8 -0
- data/spec/spec_helper.rb +16 -0
- data/tasks/debug_mail.rake +75 -0
- data/tasks/debug_mail.txt +13 -0
- data/tasks/gem.rake +73 -0
- data/tasks/spec_test.rake +73 -0
- data/tasks/unit_test.rake +77 -0
- data/tasks/yard.rake +51 -0
- data/test/test_gitflow.rb +16 -0
- metadata +227 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 07d829cbcd3226f0aaffc657d372f9d79c7f380f
|
4
|
+
data.tar.gz: c7f91a6b8511be9aa191b57c7642235e51e00cc4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6fd0c8ebfeec617c3dc92067abde181dfb749961ee5d97e20e60bbc61e020287c136a9a0f65a05e708914616af500b6b34d04352a0429f572cd170fe8643f328
|
7
|
+
data.tar.gz: 8669e8dfc829ecc020ccb9d65a4b8a65c62bf7bf9668883e70156d34bab9d8fd5f89ecf540ef6923966c96c1027ac8bae42432945a44a538783486c5ca53a22a
|
data/.falkorlib.noespec
ADDED
@@ -0,0 +1,321 @@
|
|
1
|
+
#
|
2
|
+
# This file provides a full specification for maintaining your ruby library using Noe.
|
3
|
+
# It consists of two main sections: template-info and variables. The first one contains
|
4
|
+
# meta-information about the skeleton itself while the second one provides information
|
5
|
+
# about your library.
|
6
|
+
#
|
7
|
+
# Please update the first part with care, as it immediately affects the way Noe will
|
8
|
+
# manage the files of your own project. The second part may be updated more freely.
|
9
|
+
#
|
10
|
+
# Remember that your project may use a shorter version of this file as it will be
|
11
|
+
# automatically completed with default options when invoking 'noe go'. In particular,
|
12
|
+
# the first section (under template-info) is only required to contain the name and
|
13
|
+
# version of the template to use.
|
14
|
+
#
|
15
|
+
# Use 'noe prepare --template=ruby --layout=short' to generate a shorter
|
16
|
+
# version of this file.
|
17
|
+
#
|
18
|
+
# See 'noe help prepare' and 'noe help show-spec' for more information.
|
19
|
+
#
|
20
|
+
template-info:
|
21
|
+
|
22
|
+
# Don't remove the name and version entries, which are ALWAYS required
|
23
|
+
name: "ruby"
|
24
|
+
version: 1.7.0
|
25
|
+
|
26
|
+
# The following entries are information about the template itself and can safely
|
27
|
+
# be removed on your own project.
|
28
|
+
summary: |
|
29
|
+
Template for creating a ruby gem following best ruby practices
|
30
|
+
description: |
|
31
|
+
This is a [Noe](https://github.com/blambeau/noe) template for creating a ruby gem
|
32
|
+
library. Generated project comes with rake tasks to support the lifecycle of the
|
33
|
+
library (testing, releasing, and so on). Following Noe philosophy this template
|
34
|
+
also helps you understanding the ruby ecosystem by providing a fully documented
|
35
|
+
project, rake tasks, and so on.
|
36
|
+
authors:
|
37
|
+
- {name: Bernard Lambeau, email: blambeau@gmail.com}
|
38
|
+
links:
|
39
|
+
source: https://github.com/blambeau/noe/tree/master/templates/ruby
|
40
|
+
documentation: https://github.com/blambeau/noe/blob/master/templates/ruby/README.md
|
41
|
+
|
42
|
+
#
|
43
|
+
# Below starts the template manifest.
|
44
|
+
#
|
45
|
+
# Each entry is related to a template file and may contain the following keys:
|
46
|
+
# - description: short explanation of the role the file plays in your project
|
47
|
+
# - safe-override: may the file be safely overrided by 'noe go --safe-override'?
|
48
|
+
# - wlang-dialect: what dialect must be used for wlang instantiation. When no
|
49
|
+
# dialect is specified, the dialect under main-wlang-dialect is used.
|
50
|
+
#
|
51
|
+
# You can safely remove the whole manifest or entries for which the default values
|
52
|
+
# are ok for your project. Otherwise, values defined below override the default ones
|
53
|
+
# provided by the template.
|
54
|
+
#
|
55
|
+
# An typical example for keeping an entry here is to set safe-override to false for
|
56
|
+
# specific project files you want to manage manually.
|
57
|
+
#
|
58
|
+
manifest:
|
59
|
+
.gitignore:
|
60
|
+
description: Files to be ignored by git or another version control system
|
61
|
+
safe-override: false
|
62
|
+
.travis.yml:
|
63
|
+
description: Build matrix for continuous integration on travis-ci.org
|
64
|
+
safe-override: false
|
65
|
+
__lower__.gemspec:
|
66
|
+
description: Gem specification file
|
67
|
+
safe-override: true
|
68
|
+
wlang-dialect: wlang/ruby
|
69
|
+
CHANGELOG.md:
|
70
|
+
description: Information about library changes
|
71
|
+
safe-override: false
|
72
|
+
Gemfile:
|
73
|
+
description: Information used by Bundler, the Ruby dependency manager
|
74
|
+
safe-override: true
|
75
|
+
wlang-dialect: wlang/ruby
|
76
|
+
lib/__lower__.rb:
|
77
|
+
description: Main file of the ruby library
|
78
|
+
safe-override: false
|
79
|
+
lib/__lower__/version.rb:
|
80
|
+
description: Handler for the version number for the library
|
81
|
+
safe-override: true
|
82
|
+
lib/__lower__/loader.rb:
|
83
|
+
description: Dependency loader for the ruby library
|
84
|
+
safe-override: true
|
85
|
+
LICENCE.md:
|
86
|
+
description: Licensing information
|
87
|
+
safe-override: false
|
88
|
+
Manifest.txt:
|
89
|
+
description: Information about the files that compose the package
|
90
|
+
safe-override: false
|
91
|
+
Rakefile:
|
92
|
+
description: Information for Ruby maker
|
93
|
+
safe-override: true
|
94
|
+
wlang-dialect: wlang/ruby
|
95
|
+
README.md:
|
96
|
+
description: Starter documentation file
|
97
|
+
safe-override: false
|
98
|
+
spec/__lower__spec.rb:
|
99
|
+
description: Main test file of the ruby library
|
100
|
+
safe-override: false
|
101
|
+
spec/spec_helper.rb:
|
102
|
+
description: Helper for ruby spec tests
|
103
|
+
safe-override: false
|
104
|
+
tasks/debug_mail.rake:
|
105
|
+
description: configuration file for 'rake debug_mail'
|
106
|
+
safe-override: true
|
107
|
+
wlang-dialect: wlang/ruby
|
108
|
+
tasks/debug_mail.txt:
|
109
|
+
description: mail template used by 'rake debug_mail'
|
110
|
+
safe-override: true
|
111
|
+
wlang-dialect: wlang/dummy
|
112
|
+
tasks/gem.rake:
|
113
|
+
description: configuration file for 'rake package', 'rake gem' and associated tasks
|
114
|
+
safe-override: true
|
115
|
+
wlang-dialect: wlang/ruby
|
116
|
+
tasks/spec_test.rake:
|
117
|
+
description: configuration file for 'rake spec_test'
|
118
|
+
safe-override: true
|
119
|
+
wlang-dialect: wlang/ruby
|
120
|
+
tasks/unit_test.rake:
|
121
|
+
description: configuration file for 'rake unit_test'
|
122
|
+
safe-override: true
|
123
|
+
wlang-dialect: wlang/ruby
|
124
|
+
tasks/yard.rake:
|
125
|
+
description: configuration file for 'rake yard'
|
126
|
+
safe-override: true
|
127
|
+
wlang-dialect: wlang/ruby
|
128
|
+
|
129
|
+
# The following entries are template-related variables. Update to match your
|
130
|
+
# own configuration.
|
131
|
+
variables:
|
132
|
+
# A ruby lower case project name. This will become the name of the generated
|
133
|
+
# gem of the main ruby .rb start file and so on.
|
134
|
+
lower:
|
135
|
+
falkorlib
|
136
|
+
|
137
|
+
# A ruby upper case project name. This is used to generate the main namespacing
|
138
|
+
# module of your project and shoul be the CamelCase equivalent of your lower
|
139
|
+
# name.
|
140
|
+
upper:
|
141
|
+
FalkorLib
|
142
|
+
|
143
|
+
# Version of your library
|
144
|
+
version:
|
145
|
+
0.1.0
|
146
|
+
|
147
|
+
# Project summary (~ 1 line)
|
148
|
+
summary: |-
|
149
|
+
Sebastien Varrette aka Falkor's Common library to share Ruby code and {rake,cap} tasks
|
150
|
+
|
151
|
+
# Project description (~ 5 lines). Project description should be more complete
|
152
|
+
# than the summary and will be used to describe your gem on rubygems.org
|
153
|
+
description: |-
|
154
|
+
This is my personal library I use to share the Ruby tidbits, Rake and Capistrano tasks I made for my various projects.
|
155
|
+
This is also my first gem so any comments on the code/organization are welcome, I'm a newbie in this domain.
|
156
|
+
Note that I used [Noe](https://github.com/blambeau/noe) to bootstrap this project and get a fully documented environment.
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
# Authors of the project. Each author entry is a Hash and MUST at least have
|
161
|
+
# 'name' and 'email' keys. This is used to add meta information to your .gemspec
|
162
|
+
# file. Example:
|
163
|
+
#
|
164
|
+
# authors:
|
165
|
+
# - name: Bob
|
166
|
+
# email: bob@gmail.com
|
167
|
+
#
|
168
|
+
authors:
|
169
|
+
- name: Sebastien Varrette
|
170
|
+
email: Sebastien.Varrette@uni.lu
|
171
|
+
|
172
|
+
# Web links for the project. You should typically include links to the sources
|
173
|
+
# (github), rubygems.org, documentation and so on. The first link will be used
|
174
|
+
# to fill the .gemspec file. Example:
|
175
|
+
#
|
176
|
+
# links:
|
177
|
+
# - http://github.com/bob/hello_world
|
178
|
+
# - http://rubygems.org/gems/hello_world
|
179
|
+
#
|
180
|
+
links:
|
181
|
+
- https://github.com/Falkor/falkorlib
|
182
|
+
|
183
|
+
# Gem dependencies. Each entry is a Hash that MUST at least have 'name', 'version'
|
184
|
+
# and 'groups' keys. The later is an array of dependency groups and are used to
|
185
|
+
# generate Gemfile and .gemspec files. For now, only 'development' and 'runtime'
|
186
|
+
# values are supported.
|
187
|
+
#
|
188
|
+
# Example
|
189
|
+
# # Rake is required for development only
|
190
|
+
# - {name: rake, version: "~> 0.8.7", groups: [development]}
|
191
|
+
# # HighLine is required at runtime
|
192
|
+
# - {name: highline, version: ">= 0", groups: [runtime]}
|
193
|
+
# # WLang is required for both development and runtime
|
194
|
+
# - {name: wlang, version: ">= 0", groups: [runtime, development]}
|
195
|
+
#
|
196
|
+
dependencies:
|
197
|
+
# Rake is required for developers, as usual
|
198
|
+
- {name: rake, version: "~> 0.9.2", groups: [development]}
|
199
|
+
# Bundler is required for developers and is used by the Rakefile
|
200
|
+
- {name: bundler, version: "~> 1.0", groups: [development]}
|
201
|
+
# RSpec is required to run 'rake spec'. See tasks/spec.rake
|
202
|
+
- {name: rspec, version: "~> 2.7.0", groups: [development]}
|
203
|
+
# YARD and BlueCloth are required to run 'rake yard'. See tasks/yard.rake
|
204
|
+
- {name: yard, version: "~> 0.7.2", groups: [development]}
|
205
|
+
- {name: bluecloth, version: "~> 2.2.0", groups: [development]}
|
206
|
+
# wlang is required to run 'rake debug_mail'. See tasks/debug_mail.rake
|
207
|
+
- {name: wlang, version: "~> 0.10.2", groups: [development]}
|
208
|
+
|
209
|
+
|
210
|
+
# Below are defined a certain number of specific variables for the .gemspec file
|
211
|
+
# of your library. We'll include it here to keep .gemspec under Noe's control for
|
212
|
+
# simple yet flexible cases. If your gem configuration is really specific, you
|
213
|
+
# can always maintain the .gemspec manually by setting
|
214
|
+
# template-info/manifest/__lower__.gemspec/safe-override to false
|
215
|
+
gemspec:
|
216
|
+
# Paths in the gem to add to $LOAD_PATH when the gem is activated (required).
|
217
|
+
require_paths: [ lib ]
|
218
|
+
# The path in the gem for executable scripts
|
219
|
+
bindir: 'bin'
|
220
|
+
# Array containing the names of executables included in the gem,
|
221
|
+
# if any (Dir[...] patterns are supported).
|
222
|
+
executables: [ 'bin/*' ]
|
223
|
+
# Array of test files (Dir[...] patterns are supported).
|
224
|
+
test_files: ['test/**/*', 'spec/**/*']
|
225
|
+
# Array of options to use when invoking rdoc
|
226
|
+
rdoc_options: [ ]
|
227
|
+
# Array of extra files to give to rdoc (Dir[...] patterns are supported)
|
228
|
+
extra_rdoc_files: [ README.md, CHANGELOG.md, LICENCE.md ]
|
229
|
+
# Array of extensions to build when installing the gem.
|
230
|
+
extensions: []
|
231
|
+
# External (to RubyGems) requirements that must be met for this gem to work (informal)
|
232
|
+
requirements:
|
233
|
+
# A friendly message you would like to display when the user installs your gem
|
234
|
+
post_install_message: |
|
235
|
+
Thanks for installing !{upper}.
|
236
|
+
|
237
|
+
# Below are defined a certain number of specific variables for each rake task.
|
238
|
+
# Have a look at tasks/*.rake for additional details on each one.
|
239
|
+
rake_tasks:
|
240
|
+
gem:
|
241
|
+
# Folder in which the packages are generated
|
242
|
+
package_dir: pkg
|
243
|
+
# Do you need a .tar package?
|
244
|
+
need_tar: false
|
245
|
+
# Do you need a .tar.gz package?
|
246
|
+
need_tar_gz: false
|
247
|
+
# Do you need a .tar.bz2 package?
|
248
|
+
need_tar_bz2: false
|
249
|
+
# Do you need a .zip package?
|
250
|
+
need_zip: false
|
251
|
+
# The shell command executed to build a .tar
|
252
|
+
tar_command: tar
|
253
|
+
# The shell command executed to build a .zip
|
254
|
+
zip_command: zip
|
255
|
+
debug_mail:
|
256
|
+
# Regular expression to detect change sections in
|
257
|
+
# the CHANGELOG file
|
258
|
+
rx_changelog_sections: '/^# /'
|
259
|
+
# Number of change sections to show in the mail
|
260
|
+
nb_changelog_sections: 1
|
261
|
+
spec_test:
|
262
|
+
# Pattern to find spec tests
|
263
|
+
pattern: spec/**/test_*.rb
|
264
|
+
# By default, if there is a Gemfile, the generated command will include
|
265
|
+
# 'bundle exec'. Set this to true to ignore the presence of a Gemfile,
|
266
|
+
# and not add 'bundle exec' to the command.
|
267
|
+
skip_bundler: false
|
268
|
+
# Name of Gemfile to use
|
269
|
+
gemfile: Gemfile
|
270
|
+
# Whether or not to fail Rake when an error occurs (typically when
|
271
|
+
# examples fail).
|
272
|
+
fail_on_error: true
|
273
|
+
# A message to print to stderr when there are failures.
|
274
|
+
failure_message:
|
275
|
+
# Use verbose output. If this is set to true, the task will print the
|
276
|
+
# executed spec command to stdout.
|
277
|
+
verbose: true
|
278
|
+
# Use rcov for code coverage?
|
279
|
+
rcov: false
|
280
|
+
# Path to rcov.
|
281
|
+
rcov_path: rcov
|
282
|
+
# Command line options to pass to rcov. See 'rcov --help' about this
|
283
|
+
rcov_opts: []
|
284
|
+
# Command line options to pass to ruby. See 'ruby --help' about this
|
285
|
+
ruby_opts: []
|
286
|
+
# Path to rspec
|
287
|
+
rspec_path: rspec
|
288
|
+
# Command line options to pass to rspec. See 'rspec --help' about this
|
289
|
+
rspec_opts: [--color, --backtrace]
|
290
|
+
unit_test:
|
291
|
+
# Glob pattern to match test files. (default is 'test/test*.rb')
|
292
|
+
pattern: test/test_*.rb
|
293
|
+
# Array of directories to added to $LOAD_PATH before running the tests.
|
294
|
+
libs: [ lib ]
|
295
|
+
# True if verbose test output desired.
|
296
|
+
verbose: false
|
297
|
+
# Test options passed to the test suite. An explicit TESTOPTS=opts
|
298
|
+
# on the command line will override this.
|
299
|
+
options:
|
300
|
+
# Request that the tests be run with the warning flag set.
|
301
|
+
# E.g. warning=true implies "ruby -w" used to run the tests.
|
302
|
+
warning: false
|
303
|
+
# Style of test loader to use. Options are:
|
304
|
+
#
|
305
|
+
# * :rake -- Rake provided test loading script (default).
|
306
|
+
# * :testrb -- Ruby provided test loading script.
|
307
|
+
# * :direct -- Load tests using command line loader.
|
308
|
+
#
|
309
|
+
loader: :rake
|
310
|
+
# Array of commandline options to pass to ruby when running test loader.
|
311
|
+
ruby_opts: []
|
312
|
+
# Explicitly define the list of test files to be included in a
|
313
|
+
# test. +list+ is expected to be an array of file names (a
|
314
|
+
# FileList is acceptable). If both +pattern+ and +test_files+ are
|
315
|
+
# used, then the list of test files is the union of the two.
|
316
|
+
test_files:
|
317
|
+
yard:
|
318
|
+
# Array of ruby source files
|
319
|
+
files: ['lib/**/*.rb']
|
320
|
+
# Array of options passed to yard commandline. See 'yardoc --help' about this
|
321
|
+
options: ['--output-dir', 'doc/api', '-', 'README.md', 'CHANGELOG.md', 'LICENCE.md']
|
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
falkorlib (0.1.0)
|
5
|
+
git (~> 1.2, >= 1.2.5)
|
6
|
+
git_remote_branch (~> 0)
|
7
|
+
rake (~> 10.1, >= 10.1.0)
|
8
|
+
term-ansicolor (~> 1.3)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: http://rubygems.org/
|
12
|
+
specs:
|
13
|
+
awesome_print (1.2.0)
|
14
|
+
coderay (1.1.0)
|
15
|
+
diff-lcs (1.1.3)
|
16
|
+
git (1.2.6)
|
17
|
+
git_remote_branch (0.3.8)
|
18
|
+
method_source (0.8.2)
|
19
|
+
pry (0.9.12.6)
|
20
|
+
coderay (~> 1.0)
|
21
|
+
method_source (~> 0.8)
|
22
|
+
slop (~> 3.4)
|
23
|
+
rake (10.3.2)
|
24
|
+
rspec (2.7.0)
|
25
|
+
rspec-core (~> 2.7.0)
|
26
|
+
rspec-expectations (~> 2.7.0)
|
27
|
+
rspec-mocks (~> 2.7.0)
|
28
|
+
rspec-core (2.7.1)
|
29
|
+
rspec-expectations (2.7.0)
|
30
|
+
diff-lcs (~> 1.1.2)
|
31
|
+
rspec-mocks (2.7.0)
|
32
|
+
slop (3.5.0)
|
33
|
+
term-ansicolor (1.3.0)
|
34
|
+
tins (~> 1.0)
|
35
|
+
tins (1.3.0)
|
36
|
+
yard (0.8.7.4)
|
37
|
+
|
38
|
+
PLATFORMS
|
39
|
+
ruby
|
40
|
+
|
41
|
+
DEPENDENCIES
|
42
|
+
awesome_print (~> 1.2)
|
43
|
+
bundler (~> 1.0)
|
44
|
+
falkorlib!
|
45
|
+
pry (~> 0.9)
|
46
|
+
rspec (~> 2.7, >= 2.7.0)
|
47
|
+
yard (~> 0.8)
|
data/LICENCE.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# The MIT Licence
|
2
|
+
|
3
|
+
Copyright (c) 2012 - Sebastien Varrette
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
-*- mode: markdown; mode: auto-fill; fill-column: 80 -*-
|
2
|
+
|
3
|
+
Time-stamp: <Thu 2012-09-27 16:24 svarrette>
|
4
|
+
|
5
|
+
-------------------------------------------
|
6
|
+
* File: `README.md`
|
7
|
+
* Author: Sebastien Varrette (<mailto:Sebastien.Varrette@uni.lu>)
|
8
|
+
* Copyright: Copyright (c) 2012 [Sebastien Varrette](mailto:<Sebastien.Varrette@uni.lu>) [www](http://varrette.gforge.uni.lu)
|
9
|
+
* License: MIT -- see `LICENCE.md`
|
10
|
+
|
11
|
+
-------------------
|
12
|
+
|
13
|
+
# FalkorLib
|
14
|
+
|
15
|
+
Sebastien Varrette aka Falkor's Common library to share Ruby code and `{rake,cap}`
|
16
|
+
tasks.
|
17
|
+
|
18
|
+
## Installation
|
19
|
+
|
20
|
+
## Pre-requisite
|
21
|
+
|
22
|
+
The Git branching model for this repository follows the guidelines of
|
23
|
+
[gitflow](http://nvie.com/posts/a-successful-git-branching-model/) and is
|
24
|
+
detailed below. Therefore, you should have `git-flow` installed on your machine
|
25
|
+
following the
|
26
|
+
[git-flow installation guide](https://github.com/nvie/gitflow/wiki/Installation).
|
27
|
+
|
28
|
+
### Building the gem from the source
|
29
|
+
|
30
|
+
Get the source of this library by cloning the repository as follows:
|
31
|
+
|
32
|
+
$> git clone git://github.com/Falkor/falkorlib.git
|
33
|
+
|
34
|
+
You'll end in the `devel` branch. The precise branching model is explained in
|
35
|
+
the sequel.
|
36
|
+
|
37
|
+
If you use [RVM](http://beginrescueend.com/), you perhaps wants to create a
|
38
|
+
separate gemset so that we can create and install this gem in a clean
|
39
|
+
environment. To do that, proceed as follows:
|
40
|
+
|
41
|
+
$> rvm gemset create falkorlib
|
42
|
+
$> rvm gemset use falkorlib
|
43
|
+
|
44
|
+
Install bundler if it's not yet done:
|
45
|
+
|
46
|
+
$> gem install builder
|
47
|
+
|
48
|
+
Then install the required dependent gems as follows:
|
49
|
+
|
50
|
+
$> bundle install
|
51
|
+
|
52
|
+
### Gem installation
|
53
|
+
|
54
|
+
Add this line to your application's Gemfile:
|
55
|
+
|
56
|
+
gem 'falkorlib'
|
57
|
+
|
58
|
+
And then execute:
|
59
|
+
|
60
|
+
$ bundle
|
61
|
+
|
62
|
+
Or install it yourself as:
|
63
|
+
|
64
|
+
$ gem install falkorlib
|
65
|
+
|
66
|
+
## Usage
|
67
|
+
|
68
|
+
TODO: Write usage instructions here
|
69
|
+
|
70
|
+
|
71
|
+
## Git Branching Model
|
72
|
+
|
73
|
+
The Git branching model for this repository follows the guidelines of [gitflow](http://nvie.com/posts/a-successful-git-branching-model/).
|
74
|
+
In particular, the central repository holds two main branches with an infinite lifetime:
|
75
|
+
|
76
|
+
* `production`: the branch holding tags of the successive releases of this tutorial
|
77
|
+
* `devel`: the main branch where the sources are in a state with the latest delivered development changes for the next release. This is the *default* branch you get when you clone the repo, and the one on which developments will take places.
|
78
|
+
|
79
|
+
You should therefore install [git-flow](https://github.com/nvie/gitflow), and probably also its associated [bash completion](https://github.com/bobthecow/git-flow-completion).
|
80
|
+
Also, to facilitate the tracking of remote branches, you probably wants to install [grb](https://github.com/webmat/git_remote_branch) (typically via ruby gems).
|
81
|
+
|
82
|
+
Then, to make your local copy of the repository ready to use my git-flow workflow, you have to run the following commands once you cloned it for the first time:
|
83
|
+
|
84
|
+
$> rake setup # Not yet implemented!
|
85
|
+
|
86
|
+
Note that it assumes you have installed `grb`
|
87
|
+
|
88
|
+
## Contributing
|
89
|
+
|
90
|
+
1. Fork it
|
91
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
92
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
93
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
94
|
+
5. Create new Pull Request
|
95
|
+
|
96
|
+
## Directory Organization
|
97
|
+
|
98
|
+
By default, the gem take all files included in the `.Manifest.txt` file on the
|
99
|
+
root of the project. Entries of the manifest file are interpreted as `Dir[...]`
|
100
|
+
patterns so that lazy people may use wilcards like `lib/**/*`
|
101
|
+
|
102
|
+
__IMPORTANT__ If you want to add a file/directory to this gem, remember to add
|
103
|
+
the associated entry into the manifest file `.Manifest.txt`
|
104
|
+
|
105
|
+
|
106
|
+
## Resources
|
107
|
+
|
108
|
+
### Git
|
109
|
+
|
110
|
+
You should become familiar (if not yet) with Git. Consider these resources:
|
111
|
+
|
112
|
+
* [Git book](http://book.git-scm.com/index.html)
|
113
|
+
* [Github:help](http://help.github.com/mac-set-up-git/)
|
114
|
+
* [Git reference](http://gitref.org/)
|
115
|
+
|
116
|
+
### Links
|
117
|
+
|
118
|
+
https://github.com/Falkor/falkorlib
|