stir 0.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be77e01bede5499bb822ebd4ca70cbd8f7317d80
4
- data.tar.gz: 4ff43c2adc1c6effb0ea81465ce5b17cd488fd09
3
+ metadata.gz: a8231f9df55284e7d1025d29384650275a4b8450
4
+ data.tar.gz: a4b4a8e4839cd61faa57f692f01e757cc78e04f6
5
5
  SHA512:
6
- metadata.gz: c602acd1d46aec317c85e279bc0d325654111036cb23c3937bc007fb24d8a22cb127cf7a16b8c8803296b36ff86a485811cd591d49f99ce0002d8a15bbbbe60a
7
- data.tar.gz: ac6883e003446ebcd5ee5148bc0a0d8f48f4ae49c2bbcc0ecf322a23807c91d97276c2f36cf9218f63a6ab56c803cad51111633cb9fee11dcf540d30c04f449e
6
+ metadata.gz: e726329cca20c296fc2ec4d810e95ddd76306b43eeef55d60383859ce3a544ec15c6d835002567f6e7ee539c9b37f51eb52fc9aed00cc253a0d54179982f9d38
7
+ data.tar.gz: 2b349ee5a0e4a7e5722c1db9a8a4b3bd97d32d769122365dc51afbbf96e72f4be90519e775120602565bebdcbd280131fd994578040c1ae1ce5c0de719c18250
data/lib/stir/all.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'stir/rest'
2
+ require 'stir/soap'
@@ -0,0 +1,15 @@
1
+ module Stir
2
+ module Base
3
+ class Client
4
+
5
+ def self.set_default_options_for(subclass)
6
+ subclass.class_eval do
7
+ include Response
8
+ attr_reader :response
9
+ end
10
+ subclass.config = { config_file: subclass.get_config_filepath(subclass.name.demodulize.underscore) }
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,113 @@
1
+ module Stir
2
+ module Base
3
+ module Configuration
4
+ attr_accessor :service_config, :config
5
+ class ConfigurationError < StandardError; end
6
+
7
+ def self.included(base)
8
+ base.extend(Default)
9
+ end
10
+
11
+ def initialize
12
+ config_list.each { |x| self.class.send(:attr_accessor, x) }
13
+ configure_callbacks!
14
+ send(:config=, self.class.config)
15
+ custom_config_initializers
16
+ end
17
+
18
+ def reload_configs!
19
+ @service_config = load_configs(@config_file)
20
+ @service_config[:headers] = {} if @service_config[:headers].nil?
21
+ set_config_variables
22
+ @service_config
23
+ end
24
+
25
+ def config=(value)
26
+ value = value.with_indifferent_access
27
+ @environment = (value.has_key? :environment) ? value[:environment] : Stir.environment
28
+ @version = (value.has_key? :version) ? value[:version] : Stir.version
29
+ @config_file = value[:config_file] if value[:config_file]
30
+ reload_configs!
31
+ end
32
+
33
+ private
34
+
35
+ def custom_config_initializers
36
+ end
37
+
38
+ def config_list
39
+ fail(NotImplementedError, 'You must provide a list of valid configuration options')
40
+ end
41
+
42
+ def configs_to_send
43
+ @service_config.slice(*config_list)
44
+ end
45
+
46
+ def merge_configs(args_passed_in = nil)
47
+ args_passed_in.symbolize_keys! if args_passed_in
48
+ params_to_send = configs_to_send
49
+ args_passed_in.each { |key, value| params_to_send[key] = value } unless args_passed_in.nil?
50
+ transform_config_for_httparty(params_to_send, args_passed_in).symbolize_keys
51
+ end
52
+
53
+ def load_configs(filename)
54
+ raise(ConfigurationError, "#{filename} not found.") unless File.exists?(filename)
55
+ config = YAML.load(ERB.new(File.read(filename)).result)
56
+ verify_configs(config)
57
+ config[@version][@environment].with_indifferent_access
58
+ end
59
+
60
+ def verify_configs(config)
61
+ raise(ConfigurationError, "Version: '#{@version}' is not defined for this client in the config file.") unless config.has_key? @version
62
+ raise(ConfigurationError, "Environment: '#{@environment}' is not defined for Version: '#{@version}' in the config file.") unless config[@version].has_key? @environment
63
+ end
64
+
65
+ def update_configs!(name, value)
66
+ name = name.to_s.delete('=')
67
+ @service_config[name] = value
68
+ instance_variable_set("@#{name}", value)
69
+ @service_config.reject! { |key| @service_config[key].nil? }
70
+ end
71
+
72
+ def set_config_variables
73
+ configs_to_send.each { |k, v| instance_variable_set("@#{k}", v) }
74
+ end
75
+
76
+ def callback_methods
77
+ config_list.inject([]) do |result, element|
78
+ result.push("#{element}=".to_sym)
79
+ end
80
+ end
81
+
82
+ def configure_callbacks!
83
+ callback_methods.each do |name|
84
+ m = self.class.instance_method(name)
85
+ self.class.send(:define_method, name) do |*args, &block|
86
+ update_configs!(name, *args)
87
+ m.bind(self).(*args, &block)
88
+ end
89
+ end
90
+ end
91
+
92
+
93
+ module ClassMethods
94
+ attr_accessor :config
95
+
96
+ def config_file=(value)
97
+ self.config = { config_file: value }
98
+ end
99
+
100
+ def get_config_filepath(filename)
101
+ File.join(Stir.path, 'config', "#{File.basename(filename)}.yml")
102
+ end
103
+ end
104
+
105
+ module Default
106
+ def set_default_options(base)
107
+ base.extend(ClassMethods)
108
+ end
109
+ end
110
+
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,17 @@
1
+ module Stir
2
+ module Base
3
+ module Response
4
+
5
+ def self.included(base)
6
+ base.extend(ClassMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+ def response(response_name, &block)
11
+ define_method(response_name.to_sym) { |*args| instance_exec(*args, &block) }
12
+ end
13
+ end
14
+
15
+ end
16
+ end
17
+ end
data/lib/stir/base.rb ADDED
@@ -0,0 +1,40 @@
1
+ $LOAD_PATH << File.dirname(__FILE__)
2
+ require 'active_support/all'
3
+ require 'base/configuration'
4
+ require 'base/response'
5
+ require 'base/client'
6
+ require 'core_ext/string'
7
+
8
+ # Work around for ruby 2. The include method is not private in ruby 2.1+
9
+ String.send(:include, CoreExt::String)
10
+
11
+
12
+ module Stir
13
+ class PathNotFoundError < StandardError; end
14
+
15
+ class << self
16
+
17
+ attr_accessor :path, :environment, :version
18
+
19
+ def configure
20
+ yield self
21
+ load_clients
22
+ end
23
+
24
+ def configuration
25
+ instance_values.symbolize_keys
26
+ end
27
+
28
+ private
29
+
30
+ def load_clients
31
+ validate_path_to("#{@path}/clients")
32
+ Dir.glob("#{@path}/clients/**/*.rb") { |file| require file }
33
+ end
34
+
35
+ def validate_path_to(directory)
36
+ raise(PathNotFoundError, "Invalid path for Stir clients: #{directory}") unless File.directory?(directory)
37
+ end
38
+
39
+ end
40
+ end
@@ -0,0 +1,3 @@
1
+ ---
2
+ rest: https://rubygems.org/gems/httparty
3
+ soap: https://rubygems.org/gems/savon
@@ -0,0 +1,5 @@
1
+ require 'yaml'
2
+
3
+ def dependency_config
4
+ YAML.load_file(File.expand_path('config/dependencies.yml', __dir__))
5
+ end
@@ -0,0 +1,13 @@
1
+ module CoreExt
2
+ module String
3
+ def interpolate(h)
4
+ return self if h.nil?
5
+ self.gsub(/%({\w+})/) do |match|
6
+ return self if match.nil?
7
+ key = $1.tr('{}', '').to_sym
8
+ raise KeyError.new("key{#{key}} not found") unless h.has_key?(key)
9
+ h[key]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,52 @@
1
+ module Stir
2
+ module Endpoints
3
+
4
+ def self.included(base)
5
+ base.extend(ClassMethods)
6
+ end
7
+
8
+ def routes(name, *args)
9
+ endpoints = self.class.send(:endpoints)
10
+ endpoint = nil
11
+ endpoints.each {|x| endpoint = x[name.to_sym] if x[name.to_sym]}
12
+ return nil if endpoint.nil?
13
+ base_uri + endpoint.interpolate(args.first)
14
+ end
15
+
16
+ private
17
+ module ClassMethods
18
+ def get(name, &block)
19
+ endpoint(name, :get, &block)
20
+ end
21
+
22
+ def put(name, &block)
23
+ endpoint(name, :put, &block)
24
+ end
25
+
26
+ def post(name, &block)
27
+ endpoint(name, :post, &block)
28
+ end
29
+
30
+ def head(name, &block)
31
+ endpoint(name, :head, &block)
32
+ end
33
+
34
+ def delete(name, &block)
35
+ endpoint(name, :delete, &block)
36
+ end
37
+
38
+ private
39
+ def endpoint(name, method, &block)
40
+ send(:define_method, name) do |*args|
41
+ @response = HTTParty.send(method, URI.escape(yield.interpolate(args.first)), merge_configs(args.flatten.first))
42
+ end
43
+ endpoints.push({name => yield.to_s})
44
+ end
45
+
46
+ def endpoints
47
+ @endpoints ||= []
48
+ end
49
+ end
50
+
51
+ end
52
+ end
@@ -0,0 +1,11 @@
1
+ module Stir
2
+ class RestClient < Stir::Base::Client
3
+ include Stir::Endpoints
4
+ include Stir::RestConfiguration
5
+
6
+ def self.inherited(subclass)
7
+ set_default_options_for(subclass)
8
+ end
9
+
10
+ end
11
+ end
@@ -0,0 +1,40 @@
1
+ module Stir
2
+ module RestConfiguration
3
+ include Stir::Base::Configuration
4
+
5
+ module ClassMethods
6
+ attr_accessor :debug_output
7
+
8
+ def debug_output(stream = $stderr)
9
+ @debug_output = stream
10
+ end
11
+ end
12
+
13
+ def self.included(base)
14
+ base.extend(ClassMethods)
15
+ set_default_options(base)
16
+ end
17
+
18
+ private
19
+
20
+ def config_list
21
+ [:body, :http_proxyaddr, :http_proxyport, :http_proxyuser, :http_proxypass, :limit, :query, :timeout,
22
+ :local_host, :local_port, :base_uri, :basic_auth, :debug_output, :digest_auth, :format, :headers,
23
+ :maintain_method_across_redirects, :no_follow, :parser, :connection_adapter, :pem, :query_string_normalizer,
24
+ :ssl_ca_file, :ssl_ca_path, :verify]
25
+ end
26
+
27
+ def transform_config_for_httparty(params, args_passed_in)
28
+ args_passed_in = {} if args_passed_in.nil?
29
+ params = params.to_hash
30
+ params['basic_auth'].symbolize_keys! if params['basic_auth']
31
+ params['headers'] = headers if headers
32
+ params['headers'].merge!(args_passed_in[:headers]) if args_passed_in[:headers]
33
+ params
34
+ end
35
+
36
+ def custom_config_initializers
37
+ self.debug_output = self.class.instance_variable_get('@debug_output')
38
+ end
39
+ end
40
+ end
data/lib/stir/rest.rb ADDED
@@ -0,0 +1,12 @@
1
+ require 'stir/config'
2
+
3
+ begin
4
+ require 'httparty'
5
+ rescue ::LoadError
6
+ raise $!, "Please add httparty (#{dependency_config['rest']}) to your Gemfile to do RESTful API testing\n", $!.backtrace
7
+ end
8
+
9
+ require 'stir/base'
10
+ require 'stir/rest/rest_configuration'
11
+ require 'stir/rest/endpoints'
12
+ require 'stir/rest/rest_client'
@@ -0,0 +1,56 @@
1
+ module Stir
2
+ module Operations
3
+ def self.included(base)
4
+ base.extend(ClassMethods)
5
+ end
6
+
7
+ def define_operations!
8
+ @operations = operations
9
+ @operations.each do |op|
10
+ next if self.methods.include?(op)
11
+ self.class.send(:define_method, op) do |*args|
12
+ @response = get_client.call(op, *args)
13
+ end
14
+ end
15
+ end
16
+
17
+ def operations
18
+ get_operations
19
+ end
20
+
21
+ private
22
+
23
+ def get_operations
24
+ operations = operations_available? ? get_client.operations : []
25
+ operations << self.class.send(:operations)
26
+ operations.flatten.uniq
27
+ end
28
+
29
+ def operations_available?
30
+ return true if get_client.operations rescue RuntimeError
31
+ false
32
+ end
33
+
34
+ def get_client
35
+ Savon.client(self.service_config.symbolize_keys)
36
+ end
37
+
38
+ module ClassMethods
39
+ def operation(op_name, op_alias = nil)
40
+ self.send(:define_method, op_name) { |*args| @response = get_client.call(op_name, *args) }
41
+ operations.push(op_name)
42
+ unless op_alias.nil? || op_alias.empty?
43
+ self.send(:define_method, op_alias) { |*args| send(op_name, *args) }
44
+ operations.push(op_alias)
45
+ end
46
+ end
47
+
48
+ private
49
+ def operations
50
+ return @operations if @operations
51
+ @operations = []
52
+ end
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,16 @@
1
+ module Stir
2
+ class SoapClient < Stir::Base::Client
3
+ include Stir::Operations
4
+ include Stir::SoapConfiguration
5
+
6
+ def self.inherited(subclass)
7
+ set_default_options_for(subclass)
8
+ end
9
+
10
+ def initialize
11
+ super
12
+ define_operations!
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ module Stir
2
+ module SoapConfiguration
3
+ include Stir::Base::Configuration
4
+
5
+ def self.included(base)
6
+ set_default_options(base)
7
+ end
8
+
9
+ private
10
+
11
+ def config_list
12
+ [:wsdl, :endpoint, :namespace, :proxy, :open_timeout, :read_timeout, :soap_header, :encoding,
13
+ :basic_auth, :digest_auth, :log, :log_level, :pretty_print_xml, :wsse_auth]
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ require 'savon/response'
2
+
3
+ module Savon
4
+ class Response
5
+
6
+ def code
7
+ self.http.code.to_i
8
+ end
9
+
10
+ def headers
11
+ self.http.headers
12
+ end
13
+
14
+ protected
15
+
16
+ def method_missing(name, *args, &block)
17
+ self.body[args.first]
18
+ end
19
+
20
+ end
21
+ end
22
+
data/lib/stir/soap.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'stir/config'
2
+
3
+ begin
4
+ require 'savon'
5
+ rescue ::LoadError
6
+ raise $!, "Please add savon (#{dependency_config['soap']}) to your Gemfile to do SOAP API testing\n", $!.backtrace
7
+ end
8
+
9
+ require 'stir/base'
10
+ require 'stir/soap/soap_configuration'
11
+ require 'stir/soap/operations'
12
+ require 'stir/soap/soap_response'
13
+ require 'stir/soap/soap_client'
data/lib/stir/version.rb CHANGED
@@ -1,3 +1,5 @@
1
1
  module Stir
2
- VERSION = "0.1.0"
2
+
3
+ VERSION = '2.1.1'
4
+
3
5
  end
data/lib/stir.rb CHANGED
@@ -1,7 +1,2 @@
1
- require "stir/version"
2
-
3
- raise 'This is a placeholder gem. Coming soon.'
4
-
5
- module Stir
6
- # Your code goes here...
7
- end
1
+ $LOAD_PATH << File.dirname(__FILE__)
2
+ raise LoadError.new('You must explictly require "stir/rest", "stir/soap" or "stir/all"')
metadata CHANGED
@@ -1,81 +1,118 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stir
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
- - uchagani
7
+ - Umair Chagani
8
+ - Wallace Harwood
8
9
  autorequire:
9
- bindir: exe
10
+ bindir: bin
10
11
  cert_chain: []
11
- date: 2016-09-07 00:00:00.000000000 Z
12
+ date: 2017-11-01 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: bundler
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 4.0.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 4.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: pry
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 0.10.1
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 0.10.1
42
+ - !ruby/object:Gem::Dependency
43
+ name: pry-nav
15
44
  requirement: !ruby/object:Gem::Requirement
16
45
  requirements:
17
46
  - - "~>"
18
47
  - !ruby/object:Gem::Version
19
- version: '1.12'
48
+ version: 0.2.4
20
49
  type: :development
21
50
  prerelease: false
22
51
  version_requirements: !ruby/object:Gem::Requirement
23
52
  requirements:
24
53
  - - "~>"
25
54
  - !ruby/object:Gem::Version
26
- version: '1.12'
55
+ version: 0.2.4
27
56
  - !ruby/object:Gem::Dependency
28
- name: rake
57
+ name: httparty
29
58
  requirement: !ruby/object:Gem::Requirement
30
59
  requirements:
31
60
  - - "~>"
32
61
  - !ruby/object:Gem::Version
33
- version: '10.0'
62
+ version: 0.13.7
34
63
  type: :development
35
64
  prerelease: false
36
65
  version_requirements: !ruby/object:Gem::Requirement
37
66
  requirements:
38
67
  - - "~>"
39
68
  - !ruby/object:Gem::Version
40
- version: '10.0'
69
+ version: 0.13.7
41
70
  - !ruby/object:Gem::Dependency
42
- name: rspec
71
+ name: savon
43
72
  requirement: !ruby/object:Gem::Requirement
44
73
  requirements:
45
74
  - - "~>"
46
75
  - !ruby/object:Gem::Version
47
- version: '3.0'
76
+ version: 2.11.1
48
77
  type: :development
49
78
  prerelease: false
50
79
  version_requirements: !ruby/object:Gem::Requirement
51
80
  requirements:
52
81
  - - "~>"
53
82
  - !ruby/object:Gem::Version
54
- version: '3.0'
55
- description: Placeholder for Stir
83
+ version: 2.11.1
84
+ description: Service Testing in Ruby
56
85
  email:
57
86
  - umair.chagani@manheim.com
87
+ - wallace.harwood@manheim.com
58
88
  executables: []
59
89
  extensions: []
60
90
  extra_rdoc_files: []
61
91
  files:
62
- - ".gitignore"
63
- - ".rspec"
64
- - ".travis.yml"
65
- - Gemfile
66
- - LICENSE.txt
67
- - README.md
68
- - Rakefile
69
- - bin/console
70
- - bin/setup
71
92
  - lib/stir.rb
93
+ - lib/stir/all.rb
94
+ - lib/stir/base.rb
95
+ - lib/stir/base/client.rb
96
+ - lib/stir/base/configuration.rb
97
+ - lib/stir/base/response.rb
98
+ - lib/stir/config.rb
99
+ - lib/stir/config/dependencies.yml
100
+ - lib/stir/core_ext/string.rb
101
+ - lib/stir/rest.rb
102
+ - lib/stir/rest/endpoints.rb
103
+ - lib/stir/rest/rest_client.rb
104
+ - lib/stir/rest/rest_configuration.rb
105
+ - lib/stir/soap.rb
106
+ - lib/stir/soap/operations.rb
107
+ - lib/stir/soap/soap_client.rb
108
+ - lib/stir/soap/soap_configuration.rb
109
+ - lib/stir/soap/soap_response.rb
72
110
  - lib/stir/version.rb
73
- - stir.gemspec
74
111
  homepage: https://github.com/manheim/stir
75
112
  licenses:
76
113
  - MIT
77
114
  metadata: {}
78
- post_install_message:
115
+ post_install_message: Are you GETting what I'm POSTing?
79
116
  rdoc_options: []
80
117
  require_paths:
81
118
  - lib
@@ -83,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
120
  requirements:
84
121
  - - ">="
85
122
  - !ruby/object:Gem::Version
86
- version: '0'
123
+ version: 2.0.0
87
124
  required_rubygems_version: !ruby/object:Gem::Requirement
88
125
  requirements:
89
126
  - - ">="
@@ -91,8 +128,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
128
  version: '0'
92
129
  requirements: []
93
130
  rubyforge_project:
94
- rubygems_version: 2.6.2
131
+ rubygems_version: 2.6.8
95
132
  signing_key:
96
133
  specification_version: 4
97
- summary: Placeholder for Stir
134
+ summary: stir
98
135
  test_files: []
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.1.3
5
- before_install: gem install bundler -v 1.12.5
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in stir.gemspec
4
- gemspec
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2016 uchagani
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
data/README.md DELETED
@@ -1,41 +0,0 @@
1
- # Stir
2
-
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/stir`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
6
-
7
- ## Installation
8
-
9
- Add this line to your application's Gemfile:
10
-
11
- ```ruby
12
- gem 'stir'
13
- ```
14
-
15
- And then execute:
16
-
17
- $ bundle
18
-
19
- Or install it yourself as:
20
-
21
- $ gem install stir
22
-
23
- ## Usage
24
-
25
- TODO: Write usage instructions here
26
-
27
- ## Development
28
-
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
-
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
-
33
- ## Contributing
34
-
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/stir.
36
-
37
-
38
- ## License
39
-
40
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
-
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "stir"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/stir.gemspec DELETED
@@ -1,25 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'stir/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "stir"
8
- spec.version = Stir::VERSION
9
- spec.authors = ["uchagani"]
10
- spec.email = ["umair.chagani@manheim.com"]
11
-
12
- spec.summary = %q{Placeholder for Stir}
13
- spec.description = %q{Placeholder for Stir}
14
- spec.homepage = "https://github.com/manheim/stir"
15
- spec.license = "MIT"
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
19
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
- spec.require_paths = ["lib"]
21
-
22
- spec.add_development_dependency "bundler", "~> 1.12"
23
- spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "rspec", "~> 3.0"
25
- end