cuke_mem 0.1.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c011acd8a44e0a2c8f6f1711e01d1a36edcef467
4
+ data.tar.gz: f70082c098d1209985389092bfb95b06d79f8931
5
+ SHA512:
6
+ metadata.gz: bbe0ed05aa4508e7c1cc1ba4271ddc1d04249fbc30257de5af6ad36874606d8a4852dc51b0c2da16ca98a32b29e82e465b465c751255b84fb785b7a2fef03145
7
+ data.tar.gz: 42d516db24097e18c4cfc3070b9bb7d0855bb84b16fb294f692f1b878d14661c3415edd2886fb2846be038fdbca17e04ad509df1bfe70ffbba504c90dac174b3
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - 2.0.0
@@ -0,0 +1,22 @@
1
+ If you come across any issues, please [tell us](https://github.com/connamara/cuke_mem/issues).
2
+ Pull requests (with tests) are appreciated. No pull request is too small. Please help with:
3
+
4
+ * Reporting bugs
5
+ * Suggesting features
6
+ * Writing or improving documentation
7
+ * Fixing typos
8
+ * Cleaning whitespace
9
+ * Refactoring code
10
+ * Adding tests
11
+ * Closing [issues](https://github.com/connamara/cuke_mem/issues)
12
+
13
+ Contributing to cuke\_mem:
14
+
15
+ 1. Fork the [official repository](https://github.com/connamara/cuke_mem/tree/master).
16
+ 2. Make your changes in a topic branch.
17
+ 3. Send a pull request.
18
+
19
+ Notes:
20
+ * If you report a bug and don't include a fix, please include a failing test.
21
+ * Contributions without tests won't be accepted.
22
+ * Please don't update the Gem version
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "cucumber", "~> 1.3"
4
+
5
+ group :development do
6
+ gem "rspec", "~> 2.14"
7
+ gem "bundler", "~> 1.3"
8
+ gem "jeweler", "~> 1.8"
9
+ gem "rake", "~> 10.1"
10
+ end
@@ -0,0 +1,73 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.3.5)
5
+ builder (3.2.2)
6
+ cucumber (1.3.6)
7
+ builder (>= 2.1.2)
8
+ diff-lcs (>= 1.1.3)
9
+ gherkin (~> 2.12.0)
10
+ multi_json (~> 1.7.5)
11
+ multi_test (>= 0.0.2)
12
+ diff-lcs (1.2.4)
13
+ faraday (0.8.8)
14
+ multipart-post (~> 1.2.0)
15
+ gherkin (2.12.1)
16
+ multi_json (~> 1.3)
17
+ git (1.2.6)
18
+ github_api (0.10.1)
19
+ addressable
20
+ faraday (~> 0.8.1)
21
+ hashie (>= 1.2)
22
+ multi_json (~> 1.4)
23
+ nokogiri (~> 1.5.2)
24
+ oauth2
25
+ hashie (2.0.5)
26
+ highline (1.6.19)
27
+ httpauth (0.2.0)
28
+ jeweler (1.8.7)
29
+ builder
30
+ bundler (~> 1.0)
31
+ git (>= 1.2.5)
32
+ github_api (= 0.10.1)
33
+ highline (>= 1.6.15)
34
+ nokogiri (= 1.5.10)
35
+ rake
36
+ rdoc
37
+ json (1.8.0)
38
+ jwt (0.1.8)
39
+ multi_json (>= 1.5)
40
+ multi_json (1.7.9)
41
+ multi_test (0.0.2)
42
+ multi_xml (0.5.5)
43
+ multipart-post (1.2.0)
44
+ nokogiri (1.5.10)
45
+ oauth2 (0.9.2)
46
+ faraday (~> 0.8)
47
+ httpauth (~> 0.2)
48
+ jwt (~> 0.1.4)
49
+ multi_json (~> 1.0)
50
+ multi_xml (~> 0.5)
51
+ rack (~> 1.2)
52
+ rack (1.5.2)
53
+ rake (10.1.0)
54
+ rdoc (4.0.1)
55
+ json (~> 1.4)
56
+ rspec (2.14.1)
57
+ rspec-core (~> 2.14.0)
58
+ rspec-expectations (~> 2.14.0)
59
+ rspec-mocks (~> 2.14.0)
60
+ rspec-core (2.14.5)
61
+ rspec-expectations (2.14.2)
62
+ diff-lcs (>= 1.1.3, < 2.0)
63
+ rspec-mocks (2.14.3)
64
+
65
+ PLATFORMS
66
+ ruby
67
+
68
+ DEPENDENCIES
69
+ bundler (~> 1.3)
70
+ cucumber (~> 1.3)
71
+ jeweler (~> 1.8)
72
+ rake (~> 10.1)
73
+ rspec (~> 2.14)
@@ -0,0 +1,14 @@
1
+ Copyright (C) 2013 Connamara Systems, llc
2
+
3
+ This program is free software: you can redistribute it and/or modify
4
+ it under the terms of the GNU General Public License as published by
5
+ the Free Software Foundation, either version 3 of the License, or
6
+ (at your option) any later version.
7
+
8
+ This program is distributed in the hope that it will be useful,
9
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ GNU General Public License for more details.
12
+
13
+ You should have received a copy of the GNU General Public License
14
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
@@ -0,0 +1,92 @@
1
+ cuke\_mem [![Build Status](https://travis-ci.org/connamara/cuke_mem.png?branch=master)](https://travis-ci.org/connamara/cuke_mem)
2
+ --------
3
+
4
+ A very simple memory bank for cucumber tests
5
+
6
+ Allows you to write features like
7
+
8
+ ```cucumber
9
+ Feature: I can store and recall stuff
10
+ Scenario: Obligatory Hello World
11
+ Given my data is "World"
12
+ And I keep my data as "VAR"
13
+ When I swizzle my data
14
+ Then my data should be "Hello %{VAR}"
15
+ ```
16
+
17
+
18
+ Usage
19
+ =====
20
+
21
+ Include ```require 'cuke_mem/cucumber'``` in your ```features/support/env.rb```
22
+
23
+ Then you can do
24
+
25
+ ```ruby
26
+ Given /^my data is "(.*)"$/ do |data|
27
+ @my_data = data
28
+ end
29
+
30
+ Given /^I keep my data as "(.*)"$/ do |var|
31
+ CukeMem.memorize var, @my_data
32
+ end
33
+
34
+ When /^I swizzle my data$/ do
35
+ @my_data="Hello #{@my_data}"
36
+ end
37
+
38
+ Then /^my data should be "(.*)"/ do |key|
39
+ @my_data.should == CukeMem.remember(key)
40
+ end
41
+ ```
42
+
43
+ ### More
44
+
45
+ Check out [specs](https://github.com/connamara/cuke_mem/blob/master/spec) and [features](https://github.com/connamara/cuke_mem/blob/master/features) to see all the ways you can use cuke\_mem.
46
+
47
+
48
+ Install
49
+ =======
50
+
51
+ ```shell
52
+ gem install cuke_mem
53
+ ```
54
+
55
+ or add the following to Gemfile:
56
+
57
+ ```ruby
58
+ gem 'cuke_mem'
59
+ ```
60
+ and run `bundle install` from your shell.
61
+
62
+ More Information
63
+ ================
64
+
65
+ * [Rubygems](https://rubygems.org/gems/cuke_mem)
66
+ * [Issues](https://github.com/connamara/cuke_mem/issues)
67
+ * [Connamara Systems](http://connamara.com)
68
+
69
+ Contributing
70
+ ============
71
+
72
+ Please see the [contribution guidelines](https://github.com/connamara/cuke_mem/blob/master/CONTRIBUTION_GUIDELINES.md).
73
+
74
+ Credits
75
+ =======
76
+
77
+ Contributers:
78
+
79
+ * Chris Busbey
80
+
81
+ ![Connamara Systems](http://www.connamara.com/images/home-connamara-logo-lg.png)
82
+
83
+ cuke\_mem is maintained and funded by [Connamara Systems, llc](http://connamara.com).
84
+
85
+ The names and logos for Connamara Systems are trademarks of Connamara Systems, llc.
86
+
87
+ Licensing
88
+ =========
89
+
90
+ cuke\_mem is Copyright © 2013 Connamara Systems, llc.
91
+
92
+ This software is available under the GPL and a commercial license. Please see the [LICENSE](https://github.com/connamara/cuke_mem/blob/master/LICENSE.txt) file for the terms specified by the GPL license. The commercial license offers more flexible licensing terms compared to the GPL, and includes support services. [Contact us](mailto:info@connamara.com) for more information on the Connamara commercial license, what it enables, and how you can start developing with it.
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ require "bundler/gem_tasks"
4
+ require 'rspec/core/rake_task'
5
+ require 'cucumber/rake/task'
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ Cucumber::Rake::Task.new(:cucumber)
9
+
10
+ task :test => [:spec, :cucumber]
11
+ task :default => :test
12
+
13
+ require 'jeweler'
14
+ Jeweler::Tasks.new do |gem|
15
+ gem.name = "cuke_mem"
16
+ gem.homepage = "http://github.com/connamara/cuke_mem"
17
+ gem.license = "GPL"
18
+ gem.summary = %Q{A very simple memory bank for cucumber tests}
19
+ gem.description = %Q{Gem serves as a place where step definitions from different modules can share remembered data}
20
+ gem.email = "info@connamara.com"
21
+ gem.authors = ["Chris Busbey"]
22
+ # dependencies defined in Gemfile
23
+ end
24
+
25
+ Jeweler::RubygemsDotOrgTasks.new
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.1
@@ -0,0 +1,70 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "cuke_mem"
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Chris Busbey"]
12
+ s.date = "2013-08-28"
13
+ s.description = "Gem serves as a place where step definitions from different modules can share remembered data"
14
+ s.email = "info@connamara.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.md"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ ".travis.yml",
23
+ "CONTRIBUTION_GUIDELINES.md",
24
+ "Gemfile",
25
+ "Gemfile.lock",
26
+ "LICENSE.txt",
27
+ "README.md",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "cuke_mem.gemspec",
31
+ "features/example.feature",
32
+ "features/step_definitions/steps.rb",
33
+ "features/support/env.rb",
34
+ "lib/cuke_mem.rb",
35
+ "lib/cuke_mem/cucumber.rb",
36
+ "lib/cuke_mem/memory.rb",
37
+ "spec/cuke_mem_spec.rb",
38
+ "spec/spec_helper.rb"
39
+ ]
40
+ s.homepage = "http://github.com/connamara/cuke_mem"
41
+ s.licenses = ["GPL"]
42
+ s.require_paths = ["lib"]
43
+ s.rubygems_version = "2.0.7"
44
+ s.summary = "A very simple memory bank for cucumber tests"
45
+
46
+ if s.respond_to? :specification_version then
47
+ s.specification_version = 4
48
+
49
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
+ s.add_runtime_dependency(%q<cucumber>, ["~> 1.3"])
51
+ s.add_development_dependency(%q<rspec>, ["~> 2.14"])
52
+ s.add_development_dependency(%q<bundler>, ["~> 1.3"])
53
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
54
+ s.add_development_dependency(%q<rake>, ["~> 10.1"])
55
+ else
56
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
57
+ s.add_dependency(%q<rspec>, ["~> 2.14"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.3"])
59
+ s.add_dependency(%q<jeweler>, ["~> 1.8"])
60
+ s.add_dependency(%q<rake>, ["~> 10.1"])
61
+ end
62
+ else
63
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
64
+ s.add_dependency(%q<rspec>, ["~> 2.14"])
65
+ s.add_dependency(%q<bundler>, ["~> 1.3"])
66
+ s.add_dependency(%q<jeweler>, ["~> 1.8"])
67
+ s.add_dependency(%q<rake>, ["~> 10.1"])
68
+ end
69
+ end
70
+
@@ -0,0 +1,6 @@
1
+ Feature: I can store and recall stuff
2
+ Scenario: Obligatory Hello World
3
+ Given my data is "World"
4
+ And I keep my data as "VAR"
5
+ When I swizzle my data
6
+ Then my data should be "Hello %{VAR}"
@@ -0,0 +1,16 @@
1
+ Given /^my data is "(.*)"$/ do |data|
2
+ @my_data = data
3
+ end
4
+
5
+ Given /^I keep my data as "(.*)"$/ do |var|
6
+ CukeMem.memorize var, @my_data
7
+ end
8
+
9
+ When /^I swizzle my data$/ do
10
+ @my_data="Hello #{@my_data}"
11
+ end
12
+
13
+ Then /^my data should be "(.*)"/ do |key|
14
+ @my_data.should == CukeMem.remember(key)
15
+ end
16
+
@@ -0,0 +1,3 @@
1
+ $: << File.expand_path("../../../lib", __FILE__)
2
+
3
+ require 'cuke_mem/cucumber'
@@ -0,0 +1,6 @@
1
+ require 'cuke_mem/memory'
2
+
3
+ module CukeMem
4
+ extend Memory
5
+ end
6
+
@@ -0,0 +1,5 @@
1
+ require File.expand_path("../../cuke_mem", __FILE__)
2
+
3
+ After do
4
+ CukeMem.forget
5
+ end
@@ -0,0 +1,19 @@
1
+ module CukeMem
2
+ module Memory
3
+ def memory
4
+ @memory ||= {}
5
+ end
6
+
7
+ def memorize key, value
8
+ memory[key.to_sym]=value
9
+ end
10
+
11
+ def remember phrase
12
+ memory.empty? ? phrase : phrase % memory
13
+ end
14
+
15
+ def forget
16
+ @memory={}
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,33 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe CukeMem do
4
+
5
+ it "has a memory" do
6
+ CukeMem.memory.should=={}
7
+ end
8
+
9
+ it "memorizes strings" do
10
+ CukeMem.memorize(:key, "value")
11
+ CukeMem.memory.should == {:key=>"value"}
12
+ end
13
+
14
+ it "symbolizes keys" do
15
+ CukeMem.memorize("key", "value")
16
+ CukeMem.memory.should == {:key=>"value"}
17
+ end
18
+
19
+ it "regurgitates unremembered strings" do
20
+ CukeMem.remember("foo%{bar}").should == "foo%{bar}"
21
+ end
22
+
23
+ it "remembers strings" do
24
+ CukeMem.memorize(:bar, "baz")
25
+ CukeMem.remember("foo%{bar}").should=="foobaz"
26
+ end
27
+
28
+ it "forgets" do
29
+ CukeMem.memorize(:key, "value")
30
+ CukeMem.forget
31
+ CukeMem.memory.should=={}
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'cuke_mem'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+ config.before do
12
+ CukeMem.forget
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,120 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cuke_mem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Chris Busbey
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2013-08-28 00:00:00 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: cucumber
16
+ requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ~>
19
+ - !ruby/object:Gem::Version
20
+ version: "1.3"
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: *id001
24
+ - !ruby/object:Gem::Dependency
25
+ name: rspec
26
+ requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: "2.14"
31
+ type: :development
32
+ prerelease: false
33
+ version_requirements: *id002
34
+ - !ruby/object:Gem::Dependency
35
+ name: bundler
36
+ requirement: &id003 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: "1.3"
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: *id003
44
+ - !ruby/object:Gem::Dependency
45
+ name: jeweler
46
+ requirement: &id004 !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ~>
49
+ - !ruby/object:Gem::Version
50
+ version: "1.8"
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: *id004
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
56
+ requirement: &id005 !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ version: "10.1"
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: *id005
64
+ description: Gem serves as a place where step definitions from different modules can share remembered data
65
+ email: info@connamara.com
66
+ executables: []
67
+
68
+ extensions: []
69
+
70
+ extra_rdoc_files:
71
+ - LICENSE.txt
72
+ - README.md
73
+ files:
74
+ - .document
75
+ - .rspec
76
+ - .travis.yml
77
+ - CONTRIBUTION_GUIDELINES.md
78
+ - Gemfile
79
+ - Gemfile.lock
80
+ - LICENSE.txt
81
+ - README.md
82
+ - Rakefile
83
+ - VERSION
84
+ - cuke_mem.gemspec
85
+ - features/example.feature
86
+ - features/step_definitions/steps.rb
87
+ - features/support/env.rb
88
+ - lib/cuke_mem.rb
89
+ - lib/cuke_mem/cucumber.rb
90
+ - lib/cuke_mem/memory.rb
91
+ - spec/cuke_mem_spec.rb
92
+ - spec/spec_helper.rb
93
+ homepage: http://github.com/connamara/cuke_mem
94
+ licenses:
95
+ - GPL
96
+ metadata: {}
97
+
98
+ post_install_message:
99
+ rdoc_options: []
100
+
101
+ require_paths:
102
+ - lib
103
+ required_ruby_version: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - &id006
106
+ - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: "0"
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - *id006
112
+ requirements: []
113
+
114
+ rubyforge_project:
115
+ rubygems_version: 2.0.7
116
+ signing_key:
117
+ specification_version: 4
118
+ summary: A very simple memory bank for cucumber tests
119
+ test_files: []
120
+