widget 0.0.1 → 0.0.3
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/.gemrc +8 -0
- data/.gemtest +0 -0
- data/.gitignore +1 -0
- data/Gemfile +0 -10
- data/Gemfile.lock +23 -25
- data/Rakefile +26 -1
- data/db/hashmodel.dat +0 -0
- data/features/step-definitions/step-definitions.rb +1 -0
- data/features/widget_creation.feature +2 -2
- data/features/widget_deletion.feature +3 -3
- data/features/widget_details.feature +3 -3
- data/features/widget_list_names.feature +2 -2
- data/features/widget_upgrade.feature +2 -2
- data/lib/widget/commandable_config.rb +1 -1
- data/lib/widget/version.rb +10 -1
- data/lib/widget/widget_data.rb +1 -1
- data/widget.gemspec +9 -5
- metadata +45 -14
- data/_test/marshal.rb +0 -20
- data/_test/widget.hashmodel +0 -0
- data/images/salandrichard.jpeg +0 -0
- data/images/salandrichard.jpg +0 -0
data/.gemrc
ADDED
data/.gemtest
ADDED
File without changes
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,39 +1,42 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
widget (0.0.
|
5
|
-
|
6
|
-
|
4
|
+
widget (0.0.3)
|
5
|
+
aruba (~> 0.3)
|
6
|
+
commandable (~> 0.2.0.rc)
|
7
|
+
cucumber (~> 0.10)
|
8
|
+
hashmodel (~> 0.4.0.rc)
|
9
|
+
rspec (~> 2.5)
|
7
10
|
|
8
11
|
GEM
|
9
12
|
remote: http://rubygems.org/
|
10
13
|
specs:
|
11
|
-
aruba (0.3.
|
12
|
-
childprocess (
|
13
|
-
cucumber (
|
14
|
-
rspec (
|
14
|
+
aruba (0.3.5)
|
15
|
+
childprocess (>= 0.1.7)
|
16
|
+
cucumber (>= 0.10.0)
|
17
|
+
rspec (>= 2.5.0)
|
15
18
|
builder (3.0.0)
|
16
|
-
childprocess (0.1.
|
17
|
-
ffi (~> 0.6
|
18
|
-
commandable (0.2.0.
|
19
|
+
childprocess (0.1.8)
|
20
|
+
ffi (~> 1.0.6)
|
21
|
+
commandable (0.2.0.rc1)
|
19
22
|
term-ansicolor-hi (~> 1.0.7)
|
20
|
-
cucumber (0.10.
|
23
|
+
cucumber (0.10.2)
|
21
24
|
builder (>= 2.1.2)
|
22
|
-
diff-lcs (
|
23
|
-
gherkin (
|
24
|
-
json (
|
25
|
-
term-ansicolor (
|
25
|
+
diff-lcs (>= 1.1.2)
|
26
|
+
gherkin (>= 2.3.5)
|
27
|
+
json (>= 1.4.6)
|
28
|
+
term-ansicolor (>= 1.0.5)
|
26
29
|
diff-lcs (1.1.2)
|
27
|
-
ffi (0.
|
30
|
+
ffi (1.0.7)
|
28
31
|
rake (>= 0.8.7)
|
29
32
|
file-tail (1.0.5)
|
30
33
|
spruz (>= 0.1.0)
|
31
34
|
gherkin (2.3.5)
|
32
35
|
json (>= 1.4.6)
|
33
|
-
hashmodel (0.4.0.
|
34
|
-
file-tail
|
35
|
-
sourcify
|
36
|
-
json (1.
|
36
|
+
hashmodel (0.4.0.rc1)
|
37
|
+
file-tail (~> 1.0)
|
38
|
+
sourcify (~> 0.4)
|
39
|
+
json (1.5.1)
|
37
40
|
rake (0.8.7)
|
38
41
|
rspec (2.5.0)
|
39
42
|
rspec-core (~> 2.5.0)
|
@@ -61,9 +64,4 @@ PLATFORMS
|
|
61
64
|
ruby
|
62
65
|
|
63
66
|
DEPENDENCIES
|
64
|
-
aruba (= 0.3.3)
|
65
|
-
commandable (= 0.2.0.beta2)
|
66
|
-
cucumber (= 0.10.0)
|
67
|
-
hashmodel (= 0.4.0.beta2)
|
68
|
-
rspec (= 2.5.0)
|
69
67
|
widget!
|
data/Rakefile
CHANGED
@@ -1,4 +1,29 @@
|
|
1
1
|
require 'bundler'
|
2
2
|
Bundler::GemHelper.install_tasks
|
3
3
|
|
4
|
-
task :default => [:build]
|
4
|
+
task :default => [:build]
|
5
|
+
|
6
|
+
require 'rake'
|
7
|
+
require 'rake/rdoctask'
|
8
|
+
require 'rspec/core/rake_task'
|
9
|
+
require 'cucumber/rake/task'
|
10
|
+
|
11
|
+
desc "Run all examples"
|
12
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
13
|
+
t.rspec_opts = %w[--color]
|
14
|
+
t.verbose = true
|
15
|
+
end
|
16
|
+
|
17
|
+
Cucumber::Rake::Task.new(:cucumber) do |t|
|
18
|
+
t.cucumber_opts = %w{--tags ~@jruby} unless defined?(JRUBY_VERSION)
|
19
|
+
end
|
20
|
+
|
21
|
+
task :default => [:test, :build]
|
22
|
+
task :test =>[:cucumber, :spec]
|
23
|
+
|
24
|
+
task :clobber do
|
25
|
+
rm_rf 'pkg'
|
26
|
+
rm_rf 'tmp'
|
27
|
+
rm_rf 'coverage'
|
28
|
+
rm_rf 'rdoc'
|
29
|
+
end
|
data/db/hashmodel.dat
CHANGED
Binary file
|
@@ -4,10 +4,10 @@ Feature: Create Widgets
|
|
4
4
|
I want to be able to create a widget
|
5
5
|
|
6
6
|
Scenario: Create a new widget
|
7
|
-
When I run
|
7
|
+
When I run `widget new 'Widgee 5'`
|
8
8
|
Then the output should contain "You created widget Widgee 5"
|
9
9
|
|
10
10
|
Scenario: Try to create a widget that already exists
|
11
11
|
Given I have a widget named "Widgee 5"
|
12
|
-
When I run
|
12
|
+
When I run `widget new 'Widgee 5'`
|
13
13
|
Then the output should contain "Widgee 5 already exists!"
|
@@ -4,15 +4,15 @@ Feature: Delete Widgets
|
|
4
4
|
I want to be able delete widgets
|
5
5
|
|
6
6
|
Scenario: Removing all widgets
|
7
|
-
When I run
|
7
|
+
When I run `widget reset`
|
8
8
|
Then the output should contain "All widgets destroyed"
|
9
9
|
|
10
10
|
Scenario: Remove a widget by name
|
11
11
|
Given I have a widget named "Widgee 5"
|
12
|
-
When I run
|
12
|
+
When I run `widget destroy 'Widgee 5'`
|
13
13
|
Then the output should contain "Widgee 5 destroyed"
|
14
14
|
|
15
15
|
Scenario: Try to remove a widget that doesn't exist
|
16
16
|
Given There are no widgets
|
17
|
-
When I run
|
17
|
+
When I run `widget destroy 'Widgee 5'`
|
18
18
|
Then the output should contain "There is no Widgee 5 in storage"
|
@@ -5,16 +5,16 @@ Feature: Show Widget details
|
|
5
5
|
|
6
6
|
Scenario: Show a widget's details
|
7
7
|
Given I have a widget named "Widgee 1"
|
8
|
-
When I run
|
8
|
+
When I run `widget show 'Widgee 1'`
|
9
9
|
Then the output should match /Widgee 1: created:(.*)modified(.*)/
|
10
10
|
|
11
11
|
Scenario: Try to show a widget that doesn't exist
|
12
12
|
Given There are no widgets
|
13
|
-
When I run
|
13
|
+
When I run `widget show 'Widgee 1'`
|
14
14
|
Then the output should contain "There is no Widgee 1 in storage"
|
15
15
|
|
16
16
|
Scenario: Show all widget detail
|
17
17
|
Given I have 5 widgets named "Widgee #{n}"
|
18
|
-
When I run
|
18
|
+
When I run `widget show`
|
19
19
|
Then the output should contain 5 lines matching "Widgee #{n}: created:(.*)modified(.*)"
|
20
20
|
|
@@ -5,10 +5,10 @@ Feature: List Widgets
|
|
5
5
|
|
6
6
|
Scenario: List widget names
|
7
7
|
Given I have 5 widgets named "Widgee #{n}"
|
8
|
-
When I run
|
8
|
+
When I run `widget list`
|
9
9
|
Then the output should contain 5 lines matching "Widgee #{n}"
|
10
10
|
|
11
11
|
Scenario: Listing when there are no widgets
|
12
12
|
Given There are no widgets
|
13
|
-
When I run
|
13
|
+
When I run `widget list`
|
14
14
|
Then the output should contain "<none>"
|
@@ -5,10 +5,10 @@ Feature: Show Widget details
|
|
5
5
|
|
6
6
|
Scenario: Upgrade a widget
|
7
7
|
Given I have a widget named "Widgee 1"
|
8
|
-
When I run
|
8
|
+
When I run `widget upgrade 'Widgee 1'`
|
9
9
|
Then the output should contain "You just gave Widgee 1 a fresh coat of paint!"
|
10
10
|
|
11
11
|
Scenario: Try to upgrade a widget that doesn't exist
|
12
12
|
Given There are no widgets
|
13
|
-
When I run
|
13
|
+
When I run `widget upgrade 'Widgee 1'`
|
14
14
|
Then the output should contain "There is no Widgee 1 in storage"
|
data/lib/widget/version.rb
CHANGED
data/lib/widget/widget_data.rb
CHANGED
@@ -65,7 +65,7 @@ module Widget
|
|
65
65
|
HASHMODEL_FILE = File.expand_path((File.dirname(__FILE__) + '/../../db/hashmodel.dat'))
|
66
66
|
|
67
67
|
def load_widgets
|
68
|
-
|
68
|
+
Marshal.load(File.open(HASHMODEL_FILE, "r"))
|
69
69
|
end
|
70
70
|
|
71
71
|
def save_widgets(widget=@widgets)
|
data/widget.gemspec
CHANGED
@@ -4,19 +4,23 @@ require "widget/version"
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "widget"
|
7
|
-
s.version = Widget::VERSION
|
7
|
+
s.version = Widget::VERSION::STRING
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
9
|
s.authors = ["Mike Bethany"]
|
10
10
|
s.email = ["mikbe.tk@gmail.com"]
|
11
11
|
s.homepage = "http://mikbe.tk"
|
12
|
-
s.summary = %q{A demonstration app showing how to use Commandable and
|
12
|
+
s.summary = %q{A demonstration app showing how to use Commandable and HashModel.}
|
13
13
|
s.description = %q{A demonstration app showing how to use Commandable and HashModel. It also serves as a test platform for fleshing out problems and designing new features for the aforementioned libraries.}
|
14
14
|
|
15
|
-
s.add_dependency("hashmodel", "0.4.0.
|
16
|
-
s.add_dependency("commandable", "0.2.0.
|
15
|
+
s.add_dependency("hashmodel", "~>0.4.0.rc")
|
16
|
+
s.add_dependency("commandable", "~>0.2.0.rc")
|
17
|
+
|
18
|
+
s.add_dependency("rspec", "~>2.5")
|
19
|
+
s.add_dependency("aruba", "~>0.3")
|
20
|
+
s.add_dependency("cucumber", "~>0.10")
|
17
21
|
|
18
22
|
s.files = `git ls-files`.split("\n")
|
19
|
-
s.test_files = `git ls-files -- {
|
23
|
+
s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
|
20
24
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
25
|
s.require_paths = ["lib"]
|
22
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: widget
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,26 +14,59 @@ default_executable:
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: hashmodel
|
17
|
-
requirement: &
|
17
|
+
requirement: &2157848640 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
|
-
- -
|
20
|
+
- - ~>
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.4.0.
|
22
|
+
version: 0.4.0.rc
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2157848640
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: commandable
|
28
|
-
requirement: &
|
28
|
+
requirement: &2157848100 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.2.0.
|
33
|
+
version: 0.2.0.rc
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2157848100
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rspec
|
39
|
+
requirement: &2157847620 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '2.5'
|
45
|
+
type: :runtime
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *2157847620
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: aruba
|
50
|
+
requirement: &2157847140 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0.3'
|
56
|
+
type: :runtime
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: *2157847140
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: cucumber
|
61
|
+
requirement: &2157846660 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ~>
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0.10'
|
67
|
+
type: :runtime
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: *2157846660
|
37
70
|
description: A demonstration app showing how to use Commandable and HashModel. It
|
38
71
|
also serves as a test platform for fleshing out problems and designing new features
|
39
72
|
for the aforementioned libraries.
|
@@ -45,14 +78,14 @@ extensions: []
|
|
45
78
|
extra_rdoc_files: []
|
46
79
|
files:
|
47
80
|
- .DS_Store
|
81
|
+
- .gemrc
|
82
|
+
- .gemtest
|
48
83
|
- .gitignore
|
49
84
|
- Gemfile
|
50
85
|
- Gemfile.lock
|
51
86
|
- LICENCE.txt
|
52
87
|
- README.markdown
|
53
88
|
- Rakefile
|
54
|
-
- _test/marshal.rb
|
55
|
-
- _test/widget.hashmodel
|
56
89
|
- autotest/discover.rb
|
57
90
|
- bin/widget
|
58
91
|
- db/hashmodel.dat
|
@@ -64,8 +97,6 @@ files:
|
|
64
97
|
- features/widget_details.feature
|
65
98
|
- features/widget_list_names.feature
|
66
99
|
- features/widget_upgrade.feature
|
67
|
-
- images/salandrichard.jpeg
|
68
|
-
- images/salandrichard.jpg
|
69
100
|
- lib/.DS_Store
|
70
101
|
- lib/widget.rb
|
71
102
|
- lib/widget/.DS_Store
|
@@ -100,7 +131,7 @@ rubyforge_project:
|
|
100
131
|
rubygems_version: 1.6.2
|
101
132
|
signing_key:
|
102
133
|
specification_version: 3
|
103
|
-
summary: A demonstration app showing how to use Commandable and
|
134
|
+
summary: A demonstration app showing how to use Commandable and HashModel.
|
104
135
|
test_files:
|
105
136
|
- features/setup/env.rb
|
106
137
|
- features/step-definitions/step-definitions.rb
|
data/_test/marshal.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'hashmodel'
|
2
|
-
|
3
|
-
# puts hm
|
4
|
-
# data = Marshal.dump(hm)
|
5
|
-
#File.new("dummy.hashmodel", "r")
|
6
|
-
|
7
|
-
hashmodel_file = "widget.hashmodel"
|
8
|
-
|
9
|
-
hm = HashModel.new
|
10
|
-
hm.add(:name=>"Phish")
|
11
|
-
|
12
|
-
File.open(hashmodel_file, "w"){|file| file.write(Marshal.dump(HashModel.new))} unless File.exist?(hashmodel_file)
|
13
|
-
|
14
|
-
hmo = Marshal.load(File.open(hashmodel_file, "r"))
|
15
|
-
|
16
|
-
puts hmo.class
|
17
|
-
puts hmo
|
18
|
-
|
19
|
-
# hm.add(:name=>"Widgee 5")
|
20
|
-
# put hm
|
data/_test/widget.hashmodel
DELETED
Binary file
|
data/images/salandrichard.jpeg
DELETED
Binary file
|
data/images/salandrichard.jpg
DELETED
Binary file
|