fox 0.0.2 → 0.4.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 +4 -4
- data/README.md +196 -14
- data/bin/fox +28 -8
- data/fox.gemspec +41 -3
- data/lib/fox.rb +23 -10
- data/lib/fox/cli.rb +17 -0
- data/lib/fox/configuration.rb +48 -0
- data/lib/fox/core_ext.rb +8 -0
- data/lib/fox/core_ext/array.rb +51 -0
- data/lib/fox/core_ext/hash.rb +17 -0
- data/lib/fox/core_ext/io_binary_read.rb +20 -0
- data/lib/fox/error.rb +8 -0
- data/lib/fox/error/errors.rb +232 -0
- data/lib/fox/interface/thor/all.rb +34 -0
- data/lib/fox/interface/thor/configuration.rb +71 -0
- data/lib/fox/interface/thor/create.rb +49 -0
- data/lib/fox/interface/thor/default.rb +67 -0
- data/lib/fox/interface/thor/init.rb +57 -0
- data/lib/fox/interface/thor/mixin/config_choice.rb +3 -3
- data/lib/fox/interface/thor/mixin/configuration.rb +1 -1
- data/lib/fox/interface/thor/mixin/database.rb +129 -0
- data/lib/fox/interface/thor/mixin/default.rb +6 -0
- data/lib/fox/interface/thor/mixin/default_model.rb +13 -0
- data/lib/fox/interface/thor/mixin/generators/base_generator.rb +35 -0
- data/lib/fox/interface/thor/mixin/generators/structure.rb +41 -0
- data/lib/fox/interface/thor/mixin/generators/template_loader.rb +48 -0
- data/lib/fox/interface/thor/mixin/history.rb +12 -0
- data/lib/fox/interface/thor/mixin/logger.rb +2 -2
- data/lib/fox/interface/thor/mixin/model.rb +19 -0
- data/lib/fox/interface/thor/new.thor +74 -0
- data/lib/fox/interface/thor/version.rb +59 -0
- data/lib/fox/library/choice.rb +160 -0
- data/lib/fox/library/logger.rb +175 -0
- data/lib/fox/library/project_builder.rb +83 -0
- data/lib/fox/library/secure_config.rb +114 -0
- metadata +298 -7
- data/lib/fox/interface/thor/version.thor +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 958a7a559e25d833355bdf0fffd38dac5a54d6d6
|
4
|
+
data.tar.gz: af8ee1fde1f1f28701dce0549736b9e6f536f15d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 587e812e9e989e5e936a3503af624fe4d4848b7243c679d23034076cbb9807a9b5f82f9b9e27f140c651f47bf50cbcc6a878949378826d4c038966c41498d2fd
|
7
|
+
data.tar.gz: de4e187eb5304bac91fffd4475ed344af4f05ea7305fa31eb0ea564d528d4baaa4136959f748db5e265ec5772750b00b60626e542fd435f0338acae6a6670328
|
data/README.md
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
# Fox
|
2
|
-
Version 0.0.
|
2
|
+
Version 0.0.2-2-g78e0147
|
3
3
|
|
4
4
|
[](http://badge.fury.io/rb/fox)
|
5
5
|
[](http://img.shields.io/badge/license-GPLv3-brightgreen.svg)
|
6
6
|
|
7
|
+
|
8
|
+
## WHAT IS THE FOX PROJECT?
|
9
|
+
|
7
10
|
Fox [1] is a complete solution for scientific paper scaffolding, tooling and author support. It
|
8
11
|
allows the bootstrapping or generation of dummy default paper with a rails scaffold like commandline
|
9
12
|
tool.
|
@@ -11,39 +14,63 @@ tool.
|
|
11
14
|
Fox supports the configuration of various methods of pdf push to remote locations to allow for
|
12
15
|
efficient file sharing with co-authors.
|
13
16
|
|
17
|
+
Fox, currently supports only IEEE Robotics & Automation Society (ICRA) [2].
|
18
|
+
|
19
|
+
[1] Paper Fox, named after an in similar spirit deviation from the german "papier tiger"
|
20
|
+
[2] IEEE Robotics and Automation Society's flagship conference, IEEE Robotics & Automation Society, http://icra2015.org/
|
14
21
|
|
15
|
-
Fox, supports currently the following international journals:
|
16
22
|
|
17
|
-
|
23
|
+
## FEATURES
|
18
24
|
|
19
|
-
|
25
|
+
- Application
|
26
|
+
- Ruby VM (2.1 or better)
|
27
|
+
- Feature Providing Base Libraries
|
28
|
+
- RVM
|
29
|
+
- Bundler
|
30
|
+
- Datamapper ORM with SQLite3/MySQL
|
31
|
+
- Slim
|
32
|
+
- Various Gems (see Gemfile)
|
33
|
+
- Development
|
34
|
+
- Development Base Libraries
|
35
|
+
- Rake
|
36
|
+
- Thor
|
37
|
+
- Code Quality
|
38
|
+
- Code review
|
39
|
+
- Yard & related (gem install yard --no-ri --no-rdoc ; gem install rdiscount --no-ri --no-rdoc)
|
40
|
+
- Minimal controllers, delegated to proper Ruby classes
|
41
|
+
- Logic free view templates
|
42
|
+
- Proper Ruby OOP for base functionality
|
43
|
+
- MetricFu/RSpec/Cucumber/DBC/Vagrant/Docker/i18n
|
20
44
|
|
21
|
-
- IEEE Robotics & Automation Society (ICRA) [2]
|
22
45
|
|
23
|
-
|
46
|
+
## ON WHAT HARDWARE DOES IT RUN?
|
24
47
|
|
25
|
-
-
|
48
|
+
This Software was originally developed and tested on 32-bit x86 / SMP based PCs running on
|
49
|
+
Gentoo GNU/Linux 3.12.x. Other direct Linux and Unix derivates should be viable too as
|
50
|
+
long as all dynamical linking dependencys are met.
|
26
51
|
|
27
52
|
|
28
|
-
|
29
|
-
[2] IEEE Robotics and Automation Society's flagship conference, IEEE Robotics & Automation Society, http://icra2015.org/
|
53
|
+
## DOCUMENTATION
|
30
54
|
|
55
|
+
A general developers API guide can be extracted from the Yardoc subdirectory which is able to
|
56
|
+
generate HTML as well as PDF docs. Please refer to the [Rake|Make]file for additional information
|
57
|
+
how to generate this documentation.
|
31
58
|
|
32
|
-
##
|
59
|
+
## INSTALLING
|
33
60
|
|
34
|
-
By running gem comand
|
61
|
+
By running gem comand (stable version)
|
35
62
|
|
36
63
|
```
|
37
64
|
gem install fox
|
38
65
|
```
|
39
66
|
|
40
|
-
or by adding to `Gemfile`
|
67
|
+
or by adding to `Gemfile` (unstable version)
|
41
68
|
|
42
69
|
```ruby
|
43
|
-
gem 'fox', git: 'https://github.com/rennhak/fox'
|
70
|
+
gem 'fox', git: 'https://github.com/rennhak/fox', branch: 'develop'
|
44
71
|
```
|
45
72
|
|
46
|
-
##
|
73
|
+
## USAGE
|
47
74
|
|
48
75
|
As library
|
49
76
|
|
@@ -62,6 +89,161 @@ Commands:
|
|
62
89
|
fox generate
|
63
90
|
```
|
64
91
|
|
92
|
+
## DEVELOPMENT
|
93
|
+
|
94
|
+
Get a copy of current source from SCM
|
95
|
+
|
96
|
+
```sh
|
97
|
+
~# git clone https://github.com/rennhak/fox
|
98
|
+
```
|
99
|
+
|
100
|
+
Install system dependencies (e.g. Debian/GNU)
|
101
|
+
|
102
|
+
```sh
|
103
|
+
~# apt-get install iconv
|
104
|
+
~# apt-get install imagemagick libmagickcore-dev libmagickwand-dev libmagic1 libmagic-dev
|
105
|
+
~# apt-get install curl screen less vim
|
106
|
+
~# apt-get install zlib1g zlib1g-dev
|
107
|
+
```
|
108
|
+
|
109
|
+
Install RVM (may not apply)
|
110
|
+
|
111
|
+
```sh
|
112
|
+
~# curl -sSL https://get.rvm.io | bash -s stable
|
113
|
+
```
|
114
|
+
|
115
|
+
Make sure to follow install instructions and also integrate it also into your shell. e.g. for ZSH,
|
116
|
+
add this line to your .zshrc.
|
117
|
+
|
118
|
+
```sh
|
119
|
+
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" ;
|
120
|
+
|
121
|
+
or
|
122
|
+
|
123
|
+
~# echo "source /usr/local/rvm/scripts/rvm" >> ~/.zshrc
|
124
|
+
|
125
|
+
```
|
126
|
+
|
127
|
+
Create proper RVM gemset
|
128
|
+
|
129
|
+
```sh
|
130
|
+
~# rvm --create use 2.1.3@fox_project
|
131
|
+
```
|
132
|
+
|
133
|
+
Install Ruby VM 2.1.x or better
|
134
|
+
|
135
|
+
```sh
|
136
|
+
~# rvm install 2.1.3
|
137
|
+
```
|
138
|
+
|
139
|
+
Install libraries via bundler
|
140
|
+
|
141
|
+
```sh
|
142
|
+
~# gem install bundler
|
143
|
+
~# bundle
|
144
|
+
```
|
145
|
+
|
146
|
+
Development uses SQLite3
|
147
|
+
|
148
|
+
```sh
|
149
|
+
~# apt-get install sqlite3 libsqlite3-dev
|
150
|
+
```
|
151
|
+
|
152
|
+
### BUILDING GEM
|
153
|
+
|
154
|
+
```sh
|
155
|
+
~# rake build
|
156
|
+
```
|
157
|
+
|
158
|
+
### INSTALLING GEM
|
159
|
+
|
160
|
+
```sh
|
161
|
+
~# gem install pkg/fox-X.X.X.gem
|
162
|
+
```
|
163
|
+
|
164
|
+
### SUBMIT TO RUBYGEMS.ORG
|
165
|
+
|
166
|
+
```sh
|
167
|
+
~# cd pkg
|
168
|
+
~# gem push -V fox-X.X.X.gem
|
169
|
+
```
|
170
|
+
|
171
|
+
### CURRENTLY AVAILABLE RAKE TASKS
|
172
|
+
|
173
|
+
For a full list of Rake tasks suported, use `rake -T`.
|
174
|
+
|
175
|
+
rake build # Build fox-0.0.2.gem into the pkg directory
|
176
|
+
rake cucumber:pretty # Run Cucumber features
|
177
|
+
rake cucumber:progress # Run Cucumber features
|
178
|
+
rake default # Show the default task when executing rake without arguments
|
179
|
+
rake docs:generate # Generate Yardoc documentation for this project
|
180
|
+
rake docs:graph # Generate Yard Graphs for this project
|
181
|
+
rake guard:default # Execute Ruby Guard
|
182
|
+
rake help # Shows the usage help screen
|
183
|
+
rake install # Build and install fox-0.0.2.gem into system gems
|
184
|
+
rake man:build # Build the manual pages
|
185
|
+
rake man:clean # Clean up from the built man pages
|
186
|
+
rake measurement:benchmark # When executing rake tasks measure elapsed time, used with other tasks
|
187
|
+
rake measurement:profiling # Run profiling over stack
|
188
|
+
rake metric:metric # Run metric fu for project
|
189
|
+
rake package:clean # Clean all files from pkg folder
|
190
|
+
rake readme:all # Generate proper README file from templates
|
191
|
+
rake readme:subdirs # Builds generates readme files in all sub-directories
|
192
|
+
rake readme:topdir # Generate top level README file from template
|
193
|
+
rake release # Create tag v0.0.2 and build and push fox-0.0.2.gem to Rubygems
|
194
|
+
rake spec # RSpec Core Tasks
|
195
|
+
rake todo # Look for TODO and FIXME tags in the code
|
196
|
+
rake version # Git Tag number of this repo
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
### CURRENTLY AVAILABLE THOR TASKS
|
201
|
+
|
202
|
+
For a full list of Thor tasks suported, use `thor -T`.
|
203
|
+
|
204
|
+
default
|
205
|
+
-------
|
206
|
+
thor :build # build
|
207
|
+
thor :clean # clean
|
208
|
+
thor :default # Show the default task when executing rake without arguments
|
209
|
+
thor :docs:generate # Generate Yardoc documentation for this project
|
210
|
+
thor :docs:graph # Generate Yard Graphs for this project
|
211
|
+
thor :guard:default # Execute Ruby Guard
|
212
|
+
thor :help # Shows the usage help screen
|
213
|
+
thor :install # Build and install fox-0.0.2.gem into system gems
|
214
|
+
thor :man:build # Build the manual pages
|
215
|
+
thor :man:clean # Clean up from the built man pages
|
216
|
+
thor :measurement:benchmark # When executing rake tasks measure elapsed time, used with other tasks
|
217
|
+
thor :measurement:profiling # Run profiling over stack
|
218
|
+
thor :metric:metric # Run metric fu for project
|
219
|
+
thor :package:clean # Clean all files from pkg folder
|
220
|
+
thor :readme:all # Generate proper README file from templates
|
221
|
+
thor :readme:subdirs # Builds generates readme files in all sub-directories
|
222
|
+
thor :readme:topdir # Generate top level README file from template
|
223
|
+
thor :release # release
|
224
|
+
thor :spec # Run RSpec code examples
|
225
|
+
thor :todo # Look for TODO and FIXME tags in the code
|
226
|
+
thor :version # Git Tag number of this repo
|
227
|
+
|
228
|
+
info
|
229
|
+
----
|
230
|
+
thor info:overview # Shows system overview
|
231
|
+
|
232
|
+
version
|
233
|
+
-------
|
234
|
+
thor version:show # Show version of this app
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
## IF SOMETHING GOES WRONG
|
240
|
+
|
241
|
+
In case you enconter bugs which seem to be related to the package please check in
|
242
|
+
the MAINTAINERS file for the associated person in charge and contact him or her directly. If
|
243
|
+
there is no valid address then try to mail Bjoern Rennhak <bjoern AT clothesnetwork DOT com> to get
|
244
|
+
some basic assistance in finding the right person in charge of this section of the project.
|
245
|
+
|
246
|
+
|
65
247
|
## Contributing
|
66
248
|
|
67
249
|
1. Fork it ( https://github.com/rennhak/fox/fork )
|
data/bin/fox
CHANGED
@@ -2,21 +2,41 @@
|
|
2
2
|
|
3
3
|
# Make sure load path contains local + global
|
4
4
|
$LOAD_PATH << '.'
|
5
|
-
$LOAD_PATH <<
|
5
|
+
$LOAD_PATH << 'lib'
|
6
|
+
|
7
|
+
$LOAD_PATH << File.expand_path("#{File.expand_path('../..', __FILE__)}/lib/fox/messages")
|
8
|
+
$LOAD_PATH << File.expand_path("#{File.expand_path('../..', __FILE__)}/lib/fox/service")
|
6
9
|
|
7
10
|
# System includes
|
8
11
|
require 'bundler'
|
12
|
+
|
13
|
+
# Make Thor scripts debug-able, e.g. ruby -r debug -- Thorfile
|
9
14
|
require 'thor' unless defined? Thor::Runner
|
15
|
+
require 'thor/runner'
|
16
|
+
|
17
|
+
# Development Mode?
|
18
|
+
if ENV["FOX_ENV"] == "development"
|
19
|
+
require "simplecov"
|
20
|
+
|
21
|
+
# Ensure merging of subprocesses by giving them a special name
|
22
|
+
# SimpleCov.command_name ARGV.join(" ")
|
23
|
+
SimpleCov.command_name "Fox #{Process.pid}"
|
24
|
+
|
25
|
+
# Set the correct root folder for SimpleCov
|
26
|
+
SimpleCov.root File.join(File.expand_path(File.dirname(__FILE__)), "..")
|
27
|
+
|
28
|
+
# Start coverage
|
29
|
+
SimpleCov.start
|
30
|
+
end # of if ENV
|
31
|
+
|
10
32
|
|
11
|
-
#
|
12
|
-
|
33
|
+
# Fox::Runner.new( ARGV.dup ).execute!
|
34
|
+
$thor_runner = true
|
13
35
|
|
36
|
+
require File.expand_path("#{File.expand_path('../..', __FILE__)}/lib/fox/cli")
|
14
37
|
|
15
|
-
|
16
|
-
|
17
|
-
class Default < Thor
|
18
|
-
end # of class Default
|
38
|
+
$thor_runner = true
|
39
|
+
CLI.start
|
19
40
|
|
20
|
-
Default.start( ARGV )
|
21
41
|
|
22
42
|
# vim:ts=2:tw=100:wm=100:syntax=ruby
|
data/fox.gemspec
CHANGED
@@ -58,8 +58,6 @@ Gem::Specification.new do |spec|
|
|
58
58
|
|
59
59
|
spec.files += Dir.glob( 'spec/**/*' )
|
60
60
|
|
61
|
-
spec.files += Dir.glob( 'thrift/**/*' )
|
62
|
-
|
63
61
|
spec.files += Dir.glob( 'data/**/*' )
|
64
62
|
|
65
63
|
spec.files += Dir.glob( 'documentation/**/*' )
|
@@ -68,6 +66,10 @@ Gem::Specification.new do |spec|
|
|
68
66
|
|
69
67
|
spec.files += Dir.glob( 'base/**/*' )
|
70
68
|
|
69
|
+
spec.files += Dir.glob( 'lib/fox/template/*' )
|
70
|
+
|
71
|
+
spec.files += Dir.glob( 'lib/thrift/**/*' )
|
72
|
+
|
71
73
|
spec.test_files += Dir.glob( 'test/**/*' )
|
72
74
|
spec.test_files += Dir.glob( 'spec/**/*' )
|
73
75
|
spec.test_files += Dir.glob( 'features/**/*' )
|
@@ -79,12 +81,48 @@ Gem::Specification.new do |spec|
|
|
79
81
|
|
80
82
|
# General
|
81
83
|
spec.add_runtime_dependency 'thor'
|
82
|
-
|
84
|
+
|
85
|
+
# Package building
|
86
|
+
spec.add_runtime_dependency 'fpm'
|
83
87
|
|
84
88
|
# Shell
|
85
89
|
spec.add_runtime_dependency 'ptools'
|
86
90
|
spec.add_runtime_dependency 'os'
|
87
91
|
|
92
|
+
# Database ORM (Persistent)
|
93
|
+
spec.add_runtime_dependency 'datamapper'
|
94
|
+
spec.add_runtime_dependency 'data_mapper'
|
95
|
+
spec.add_runtime_dependency 'dm-core'
|
96
|
+
spec.add_runtime_dependency 'dm-tags'
|
97
|
+
spec.add_runtime_dependency 'dm-migrations'
|
98
|
+
spec.add_runtime_dependency 'dm-types'
|
99
|
+
spec.add_runtime_dependency 'dm-enum'
|
100
|
+
spec.add_runtime_dependency 'dm-validations'
|
101
|
+
spec.add_runtime_dependency 'dm-timestamps'
|
102
|
+
spec.add_runtime_dependency 'dm-sqlite-adapter'
|
103
|
+
spec.add_runtime_dependency 'dm-do-adapter'
|
104
|
+
|
105
|
+
# Data RPCs and Messaging
|
106
|
+
spec.add_runtime_dependency 'msgpack'
|
107
|
+
|
108
|
+
spec.add_runtime_dependency 'faraday'
|
109
|
+
spec.add_runtime_dependency 'mime-types'
|
110
|
+
|
111
|
+
# Data Exchange Containers/Parsing
|
112
|
+
spec.add_runtime_dependency 'oj'
|
113
|
+
|
114
|
+
# Caching
|
115
|
+
spec.add_runtime_dependency 'moneta'
|
116
|
+
|
117
|
+
# Mail
|
118
|
+
spec.add_runtime_dependency 'pony'
|
119
|
+
|
120
|
+
# l10n
|
121
|
+
spec.add_runtime_dependency 'gettext'
|
122
|
+
|
123
|
+
# Rest interface
|
124
|
+
spec.add_runtime_dependency 'rack'
|
125
|
+
|
88
126
|
# Monadic/Functional
|
89
127
|
spec.add_runtime_dependency 'andand'
|
90
128
|
# spec.add_runtime_dependency 'ick'
|
data/lib/fox.rb
CHANGED
@@ -7,19 +7,32 @@ require 'rake'
|
|
7
7
|
require 'ruby-try'
|
8
8
|
|
9
9
|
|
10
|
-
# @
|
11
|
-
# @brief
|
12
|
-
|
10
|
+
# @module module Fox
|
11
|
+
# @brief Fox modules and classes namespace
|
12
|
+
module Fox
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
def initialize
|
17
|
-
end # }}}
|
14
|
+
require_relative 'fox/version'
|
15
|
+
require_relative 'fox/error'
|
18
16
|
|
19
|
-
|
17
|
+
# @module module Mixin
|
18
|
+
# @brief Mixin module contains various functions to be used in other components
|
19
|
+
module Mixin
|
20
|
+
|
21
|
+
# autoload :Guess, 'fox/mixin/'
|
22
|
+
|
23
|
+
end # of module Mixing
|
24
|
+
|
25
|
+
# autoload :Cache, 'fox/library/cache'
|
26
|
+
# autoload :Choice, 'fox/library/choice'
|
20
27
|
|
21
|
-
# Load other library files
|
22
|
-
Dir[ File.dirname(__FILE__) + '/fox/library/*.rb' ].each { |file| require file }
|
23
28
|
|
29
|
+
DEFAULT_CONFIG = '.fox/config.yaml'.freeze
|
30
|
+
|
31
|
+
class << self
|
32
|
+
end # of class << self
|
33
|
+
|
34
|
+
end # of module Fox
|
35
|
+
|
36
|
+
Default.start
|
24
37
|
|
25
38
|
# vim:ts=2:tw=100:wm=100:syntax=ruby
|
data/lib/fox/cli.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# System
|
4
|
+
require "thor"
|
5
|
+
|
6
|
+
# Custom
|
7
|
+
require File.expand_path(File.dirname(__FILE__) + '/interface/thor/version')
|
8
|
+
require File.expand_path(File.dirname(__FILE__) + '/interface/thor/configuration')
|
9
|
+
|
10
|
+
|
11
|
+
class CLI < Thor
|
12
|
+
|
13
|
+
register(Version, 'version', 'version [something]', "Show current version")
|
14
|
+
register(Configuration, 'config', 'config [something]', "Type for work with fox config")
|
15
|
+
|
16
|
+
end
|
17
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# System
|
4
|
+
require "yaml"
|
5
|
+
|
6
|
+
|
7
|
+
module Fox
|
8
|
+
|
9
|
+
# @class Configuration
|
10
|
+
# @brief Configuration control class
|
11
|
+
class Configuration
|
12
|
+
|
13
|
+
attr_accessor :project_name
|
14
|
+
attr_accessor :base_dir
|
15
|
+
|
16
|
+
# @fn def initialize confguration_file # {{{
|
17
|
+
# @brief Constructor for Configuration class
|
18
|
+
#
|
19
|
+
# @param [String] - path to configuration file
|
20
|
+
def initialize confguration_file = nil
|
21
|
+
configuration = if confguration_file
|
22
|
+
base_configuration.merge(YAML.load_file(confguration_file))
|
23
|
+
else
|
24
|
+
base_configuration
|
25
|
+
end
|
26
|
+
|
27
|
+
# @todo add a deep loop for inner key-value pair
|
28
|
+
configuration.each do |key, value|
|
29
|
+
# if Default configuration not contain property, then we should raise exception
|
30
|
+
raise Exception.new("Unexpected #{key} for Fox configuration") unless base_configuration.include?(key)
|
31
|
+
instance_variable_set(:"@#{key}", value)
|
32
|
+
end
|
33
|
+
end # of def initialize }}}
|
34
|
+
|
35
|
+
# @fn def base_configuration {{{
|
36
|
+
# @brief return default configuration for Fox
|
37
|
+
# @return [Hash]
|
38
|
+
def base_configuration
|
39
|
+
{
|
40
|
+
"project_name" => "project-#{rand(100)}",
|
41
|
+
"base_dir" => Dir.pwd
|
42
|
+
}
|
43
|
+
end # of def base_configuration }}}
|
44
|
+
|
45
|
+
end # end of Configure class
|
46
|
+
|
47
|
+
end # end of Fox module
|
48
|
+
|