equitrac-utilities 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: d0545997f5d66d764be64790d11a9459e0f8f419eae60a339334259823c1eb14
4
+ data.tar.gz: 01ea34bfe90b5f9fdd26f0913a9626bbef74aea3eaf190ff616897df99ab22ec
5
+ SHA512:
6
+ metadata.gz: 0c5cc9b79ae95b6266e24ac138f9dfc92de44137e329eb5773d00485896edbd4a7a0e1f1b56acc48bb0c41f609ceb9a54d5a29e79570ce87b2a5ed09f349741d
7
+ data.tar.gz: 586dd27ab6253e76e84227459481075ffa274ae62a2f9565245ec7f1d71f23cfcf52ed39ea488d1b09a716fea8302a9a67dc8425727d00b2bb045540fd13cbeb
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ #/Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.gem
11
+ /*.gem
12
+ *.DS_Store
13
+ .rbenv-vars
14
+ /examples/users.yml
15
+ /examples/server.yml
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.2
5
+ before_install: gem install bundler -v 1.16.0
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in equitrac-utilities.gemspec
6
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,34 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ equitrac-utilities (0.1.0)
5
+ net-ssh (~> 4.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ codacy-coverage (1.1.8)
11
+ simplecov
12
+ docile (1.1.5)
13
+ json (2.1.0)
14
+ minitest (5.11.3)
15
+ net-ssh (4.2.0)
16
+ rake (12.3.0)
17
+ simplecov (0.15.1)
18
+ docile (~> 1.1.0)
19
+ json (>= 1.8, < 3)
20
+ simplecov-html (~> 0.10.0)
21
+ simplecov-html (0.10.2)
22
+
23
+ PLATFORMS
24
+ ruby
25
+
26
+ DEPENDENCIES
27
+ bundler (~> 1.16)
28
+ codacy-coverage (~> 1.1)
29
+ equitrac-utilities!
30
+ minitest (~> 5.0)
31
+ rake (~> 12.3)
32
+
33
+ BUNDLED WITH
34
+ 1.16.1
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 Elliott Hebert
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 ADDED
@@ -0,0 +1,98 @@
1
+ # Equitrac::Utilities
2
+
3
+ [![Build Status](https://travis-ci.org/LAS-IT/equitrac-utilities.svg?branch=master)](https://travis-ci.org/LAS-IT/equitrac-utilities) [![Dependency Status](https://beta.gemnasium.com/badges/github.com/LAS-IT/equitrac-utilities.svg)](https://beta.gemnasium.com/projects/github.com/LAS-IT/equitrac-utilities) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/3d1bbe096fe34e3c8785cd6fb2af103c)](https://www.codacy.com/app/btihen/equitrac-utilities?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=LAS-IT/equitrac-utilities&amp;utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/3d1bbe096fe34e3c8785cd6fb2af103c)](https://www.codacy.com/app/btihen/equitrac-utilities?utm_source=github.com&utm_medium=referral&utm_content=LAS-IT/equitrac-utilities&utm_campaign=Badge_Coverage) [![BCH compliance](https://bettercodehub.com/edge/badge/LAS-IT/equitrac-utilities?branch=master)](https://bettercodehub.com/)
4
+
5
+ Equitrac utilities help you run any EQCmd command within ruby. It use SSH by default so make sure you windows server is setup for ssh.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'equitrac-utilities'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install equitrac-utilities
22
+
23
+ ## Usage
24
+
25
+ ### Initialize server object
26
+
27
+ ```ruby
28
+ require 'equitrac-utilities'
29
+
30
+ # With variables
31
+ server = Equitrac::Server.new "host.exemple.com", "admin", "server-name", "password"
32
+
33
+ # OR with environment variables
34
+
35
+ ENV['EQUITRAC_HOST'] = "host.exemple.com"
36
+ ENV['EQUITRAC_USER'] = "admin"
37
+ ENV['EQUITRAC_SERVICE_NAME'] = "server-name"
38
+ ENV['EQUITRAC_HOST_PASSWORD'] = "password"
39
+
40
+ server = Equitrac::Server.new
41
+ ```
42
+
43
+ if you want to use key based authentication just ignore the password.
44
+
45
+ ### Generate add user command
46
+
47
+ ```ruby
48
+
49
+ min_user_params = {
50
+ user_id: "jdoe",
51
+ init_bal: 50.0,
52
+ user_name: "John DOE",
53
+ email: "jdoe@exemple.com",
54
+ dept_name: "employee",
55
+ primary_pin: 0420,
56
+ }
57
+
58
+ cmd = Equitrac::Utilities::User.add( min_user_params )
59
+
60
+ ```
61
+
62
+ ### Execute command
63
+
64
+ ```ruby
65
+ # with key authentication do:
66
+
67
+ # server object = Equitrac::Server.new "host.exemple.com", "admin", "server-name"
68
+ server.execute(cmd)
69
+
70
+ # if the password is define in the object, it will be included automatically into the options.
71
+ # server object = Equitrac::Server.new "host.exemple.com", "admin", "server-name", "password"
72
+ server.execute(cmd, {verify_host_key: false})
73
+ ```
74
+
75
+ ## Development
76
+
77
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
78
+
79
+ 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).
80
+
81
+ ## Test
82
+
83
+ using:
84
+ ```
85
+ rake test TEST=test/equitrac/*
86
+ ```
87
+
88
+ ## Contributing
89
+
90
+ Bug reports and pull requests are welcome on GitHub at https://github.com/las-it/equitrac-utilities.
91
+
92
+ Pull requests need tests.
93
+
94
+ ## License
95
+
96
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
97
+
98
+ All rights on Equitract are owned by [Nuance Communications, Inc.](https://www.nuance.com/index.html)
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList["test/**/*_test.rb"]
8
+ end
9
+
10
+ task :default => :test
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "equitrac/utilities"
5
+ require "equitrac/server"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require "irb"
15
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
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
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "equitrac/utilities/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "equitrac-utilities"
8
+ spec.version = Equitrac::Utilities::VERSION
9
+ spec.authors = ["Elliott Hebert", "Bill Tihen"]
10
+ spec.email = ["ehebert@las.ch", "btihen@gmail.com", "btihen@las.ch"]
11
+
12
+ spec.summary = "A gem to interact with equitrac 5.6"
13
+ spec.description = "equitrac"
14
+ spec.homepage = "https://github.com/las-it/equitrac-utilities"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ end
20
+ spec.bindir = "exe"
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ["lib"]
23
+
24
+ spec.add_dependency "net-ssh", "~> 4.0"
25
+
26
+ spec.add_development_dependency 'codacy-coverage', '~> 1.1'
27
+ spec.add_development_dependency "bundler", "~> 1.16"
28
+ spec.add_development_dependency "rake", "~> 12.3"
29
+ spec.add_development_dependency "minitest", "~> 5.0"
30
+ end
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env ruby -w
2
+
3
+ require 'equitrac/utilities'
4
+ require 'equitrac/server'
5
+ require 'yaml'
6
+
7
+ # SERVER #
8
+ ##########
9
+ srv_file = 'server-sample.yml' if File.file?('server-sample.yml')
10
+ srv_file = 'server.yml' if File.file?('server.yml') # real
11
+ srv_file ||= nil
12
+ #
13
+ srv_info = nil
14
+ begin
15
+ srv_info = YAML.load_file(srv_file)
16
+ rescue ArgumentError => e
17
+ puts "YAML Error: #{e.message}"
18
+ end unless srv_file.nil?
19
+ srv_info = YAML.load_file(srv_file) unless srv_file.nil?
20
+ srv_info ||= { hostname: 'equitrac.example.com', # remote server hostname
21
+ username: 'remote', # remote login username
22
+ eq_service: 'eq56', # equitrac SERVICE name
23
+ }
24
+ # File.write("server-sample.yml",srv_info.to_yaml)
25
+ puts "\nSRV_INFO: #{srv_info}"
26
+
27
+ server = Equitrac::Server.new( srv_info[:hostname],
28
+ srv_info[:username],
29
+ srv_info[:eq_service]
30
+ ) unless srv_info.nil?
31
+ # USERS #
32
+ #########
33
+ users_file = 'users-sample.yml' if File.file?('users-sample.yml')
34
+ users_file = 'users.yml' if File.file?('users.yml') # real
35
+ users_file ||= nil
36
+ #
37
+ users = nil
38
+ begin
39
+ users = YAML.load( File.open(users_file) )
40
+ rescue ArgumentError => e
41
+ puts "YAML Error: #{e.message}"
42
+ end unless users_file.nil?
43
+ # srv_info = YAML.load_file(users_file) unless users_file.nil?
44
+ # users ||= [
45
+ # { primary_pin: 12345,
46
+ # user_id: "username1",
47
+ # email: "username1@examle.com",
48
+ # user_name: "FirstName1 LastName1",
49
+ # dept_name: 'employee',
50
+ # }
51
+ # ]
52
+ # File.write("users-sample.yml",users.to_yaml)
53
+ puts "\nUSERS:"
54
+ pp users
55
+
56
+ # CREATE #
57
+ ##########
58
+ puts "\nEQ56 Commands:"
59
+ users.each do |person|
60
+ person[:init_bal] = 50.0
61
+ cmd = Equitrac::Utilities::User.add( person )
62
+ puts cmd
63
+ puts server.execute(cmd)
64
+ end unless users.nil?
@@ -0,0 +1,4 @@
1
+ ---
2
+ :hostname: equitrac.example.com
3
+ :username: remote
4
+ :eq_service: eq56
@@ -0,0 +1,11 @@
1
+ ---
2
+ - :primary_pin: 12345
3
+ :user_id: username1
4
+ :email: username1@examle.com
5
+ :user_name: FirstName1 LastName1
6
+ :dept_name: employee
7
+ - :primary_pin: 23456
8
+ :user_id: username2
9
+ :email: username2@examle.com
10
+ :user_name: FirstName2 LastName1
11
+ :dept_name: student
@@ -0,0 +1,69 @@
1
+ require 'net/ssh'
2
+
3
+ module Equitrac
4
+ # The Equitrac server definition, handling communication with the server.
5
+ # @since 0.1.0
6
+ #
7
+ # @note If the password is define in the object, it will be included automatically into the options.
8
+ # @note You can also use environment variables to initialize your server.
9
+ #
10
+ # @!attribute [r] eqcmd_path
11
+ # @return [String] The path where Equitrac utilities is installed
12
+ # @!attribute [r] service_name
13
+ # @return [String] The name of the Equitrac service.
14
+ class Server
15
+ attr_reader :service_name, :eqcmd_path
16
+
17
+ # @note Host, User and Service name are required
18
+ # @param host [String] The server hostname.
19
+ # @param user [String] The user that ssh gonna use.
20
+ # @param service_name [String] The name of the Equitrac service.
21
+ # @param host_password [String] The password used for authentification.
22
+ # @param eqcmd_path [String] The path where Equitrac utilities is installed
23
+ def initialize(
24
+ host=ENV['EQUITRAC_HOST'],
25
+ user=ENV['EQUITRAC_USER'],
26
+ service_name=ENV['EQUITRAC_SERVICE_NAME'],
27
+ host_password=ENV['EQUITRAC_HOST_PASSWORD'],
28
+ eqcmd_path='C:\Program Files\Equitrac\Express\Tools\EQCmd.exe'
29
+ )
30
+
31
+ raise ArgumentError, 'host is missing' if host.nil? or host.empty?
32
+ raise ArgumentError, 'user is missing' if user.nil? or user.empty?
33
+ raise ArgumentError, 'service_name is missing' if service_name.nil? or service_name.empty?
34
+
35
+ @host = host
36
+ @user = user
37
+ @host_password = host_password
38
+ @service_name = service_name
39
+ @eqcmd_path = eqcmd_path
40
+ end
41
+
42
+ # Execute a command on the remote server via SSH.
43
+ #
44
+ # @param command [String] the command that need to be executed.
45
+ # @param options [Hash] options for ssh.
46
+ # @return [String] the result from the ssh command
47
+ def execute(command, options={})
48
+ options[:password] = @host_password if @host_password
49
+ session = Net::SSH.start(@host, @user, options)
50
+
51
+ result = session.exec! "#{self.eqcmd_path} -s#{self.service_name} #{command}"
52
+
53
+ session.close
54
+
55
+ return clean_up_output(result)
56
+ end
57
+
58
+ private
59
+
60
+ # Clean return from ssh execution
61
+ #
62
+ # @param string [String] the string that need to be clean
63
+ # @return [String] the clean string
64
+ def clean_up_output(string)
65
+ string.gsub("\u0000",'').gsub(/\\/,'')
66
+ end
67
+
68
+ end
69
+ end
@@ -0,0 +1,43 @@
1
+ module Equitrac
2
+ module Utilities
3
+ # User commands for equitrac.
4
+ # @since 0.1.0
5
+ module User
6
+ # Generate the add command for a user.
7
+ # @param user_id [String] The id of the user.
8
+ # @param init_bal [Float] The initial balance for the account.
9
+ # @param user_name [String] The name of the user.
10
+ # @param min_bal [Float] The minimum balance allowed.
11
+ # @param email [String] The e-mail of the user.
12
+ # @param dept_name [String] The department the user is in.
13
+ # @param primary_pin [String] The primary pin code.
14
+ # @param secondary_pin [String] The secondary pin code.
15
+ # @param quota [Integer] The print quota.
16
+ # @param alternate_pin [String] The alternate pin code.
17
+ # @param home_server [String] The home server.
18
+ # @param locked [String] The status of the account 0 = unlocked; 1 = locked.
19
+ # @param location [String] The user location.
20
+ # @param additional_info [String] Any additional_info information for the account.
21
+ # @param home_folder [String] The home folder.
22
+ #
23
+ # Default params are:
24
+ # min_bal: 1
25
+ # secondary_pin: ""
26
+ # quota: 0
27
+ # alternate_pin: 1
28
+ # home_server: ""
29
+ # locked: 0
30
+ # location: ""
31
+ # additional_info: 0
32
+ # home_folder:""
33
+ #
34
+ # @return [String] The equitrac command to add a user.
35
+ #
36
+ def add(user_id:, init_bal:, user_name:, min_bal: 0.0, email:, dept_name:, primary_pin:, secondary_pin: '""', quota: 0, alternate_pin: '""', home_server: '""', locked: 0, location: '""', additional_info: 0, home_folder: '""')
37
+ return "add ur #{user_id} #{init_bal} \"#{user_name}\" #{min_bal} #{email} #{dept_name} #{primary_pin} #{secondary_pin} #{quota} #{alternate_pin} #{home_server} #{locked} #{location} #{additional_info} #{home_folder}"
38
+ end
39
+
40
+ module_function :add
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,6 @@
1
+ module Equitrac
2
+ module Utilities
3
+ # The version number.
4
+ VERSION = "0.1.0"
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ require "equitrac/utilities/version"
2
+ require "equitrac/utilities/user"
3
+
4
+ # Namespace for classes and modules that handle Equitrac commands and execution.
5
+ module Equitrac
6
+ # Namespace for classes and modules that generate Equitrac commands.
7
+ module Utilities
8
+
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,134 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: equitrac-utilities
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Elliott Hebert
8
+ - Bill Tihen
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2018-02-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: net-ssh
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '4.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'
28
+ - !ruby/object:Gem::Dependency
29
+ name: codacy-coverage
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.1'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.1'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bundler
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.16'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.16'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '12.3'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '12.3'
70
+ - !ruby/object:Gem::Dependency
71
+ name: minitest
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '5.0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '5.0'
84
+ description: equitrac
85
+ email:
86
+ - ehebert@las.ch
87
+ - btihen@gmail.com
88
+ - btihen@las.ch
89
+ executables: []
90
+ extensions: []
91
+ extra_rdoc_files: []
92
+ files:
93
+ - ".gitignore"
94
+ - ".travis.yml"
95
+ - Gemfile
96
+ - Gemfile.lock
97
+ - LICENSE.txt
98
+ - README.md
99
+ - Rakefile
100
+ - bin/console
101
+ - bin/setup
102
+ - equitrac-utilities.gemspec
103
+ - examples/create_users.rb
104
+ - examples/server-sample.yml
105
+ - examples/users-sample.yml
106
+ - lib/equitrac/server.rb
107
+ - lib/equitrac/utilities.rb
108
+ - lib/equitrac/utilities/user.rb
109
+ - lib/equitrac/utilities/version.rb
110
+ homepage: https://github.com/las-it/equitrac-utilities
111
+ licenses:
112
+ - MIT
113
+ metadata: {}
114
+ post_install_message:
115
+ rdoc_options: []
116
+ require_paths:
117
+ - lib
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ requirements: []
129
+ rubyforge_project:
130
+ rubygems_version: 2.7.4
131
+ signing_key:
132
+ specification_version: 4
133
+ summary: A gem to interact with equitrac 5.6
134
+ test_files: []