orion6_rep 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,100 @@
1
+ # Controle de Horas - Sistema para gestão de horas trabalhadas
2
+ # Copyright (C) 2009 O.S. Systems Softwares Ltda.
3
+
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU Affero General Public License as
6
+ # published by the Free Software Foundation, either version 3 of the
7
+ # License, or (at your option) any later version.
8
+
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU Affero General Public License for more details.
13
+
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
+ # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
18
+ # e-mail: contato@ossystems.com.br
19
+
20
+ require File.dirname(__FILE__) + '/../test_helper'
21
+
22
+ class EmployeeTest < Test::Unit::TestCase
23
+ def test_get_employees_quantity
24
+ ip = ENV["IP"]
25
+ t = TimeClock.new(ip, 3000, 1)
26
+
27
+ puts "Retrieving employees quantity from '#{ip}'..."
28
+ payload = t.get_employees_quantity
29
+ puts "Received: " + payload.inspect
30
+ end
31
+
32
+ def test_get_employees
33
+ ip = ENV["IP"]
34
+ t = TimeClock.new(ip, 3000, 1)
35
+
36
+ puts "Retrieving employees from '#{ip}'..."
37
+ data = t.get_employees
38
+ puts "Received: " + data.inspect
39
+ data.each do |employee_data|
40
+ assert_equal(20, employee_data[:registration].size)
41
+ assert_equal(12, employee_data[:pis_number].size)
42
+ end
43
+ end
44
+
45
+ def test_set_employee
46
+ test_values = {:registration => "12345678901234567890",
47
+ :name => "Test User",
48
+ :pis_number => "123456789012"}
49
+
50
+ ip = ENV["IP"]
51
+ t = TimeClock.new(ip, 3000, 1)
52
+
53
+ print "Retrieving employees from '#{ip}'... "
54
+ all_employees = t.get_employees
55
+ puts "OK!"
56
+
57
+ test_user = all_employees.detect do |e|
58
+ test_values.any?{|key, value| e[key] == value}
59
+ end
60
+
61
+ if test_user
62
+ print "Test user already exists, removing it for testing... "
63
+ assert t.set_employee(:remove, test_user[:registration], test_user[:pis_number], test_user[:name])
64
+ puts "OK!"
65
+
66
+ print "Checking if user was removed... "
67
+ all_employees = t.get_employees
68
+ test_user = all_employees.detect do |e|
69
+ test_values.any?{|key, value| e[key] == value}
70
+ end
71
+ assert_nil test_user
72
+ puts "OK!"
73
+ end
74
+
75
+ print "Adding test user... "
76
+ assert t.set_employee(:add, test_values[:registration], test_values[:pis_number], test_values[:name])
77
+ puts "OK!"
78
+
79
+ print "Checking if user was added... "
80
+ all_employees = t.get_employees
81
+
82
+ test_user = all_employees.detect do |e|
83
+ test_values.all?{|key, value| e[key] == value}
84
+ end
85
+ assert !test_user.nil?
86
+ puts "OK!"
87
+
88
+ print "Removing test user... "
89
+ assert t.set_employee(:remove, test_user[:registration], test_user[:pis_number], test_user[:name])
90
+ puts "OK!"
91
+
92
+ print "Checking if user was removed... "
93
+ all_employees = t.get_employees
94
+ test_user = all_employees.detect do |e|
95
+ test_values.any?{|key, value| e[key] == value}
96
+ end
97
+ assert_nil test_user
98
+ puts "OK!"
99
+ end
100
+ end
@@ -0,0 +1,57 @@
1
+ # Controle de Horas - Sistema para gestão de horas trabalhadas
2
+ # Copyright (C) 2009 O.S. Systems Softwares Ltda.
3
+
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU Affero General Public License as
6
+ # published by the Free Software Foundation, either version 3 of the
7
+ # License, or (at your option) any later version.
8
+
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU Affero General Public License for more details.
13
+
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
+ # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
18
+ # e-mail: contato@ossystems.com.br
19
+
20
+ require File.dirname(__FILE__) + '/../test_helper'
21
+
22
+ class EmployerTest < Test::Unit::TestCase
23
+ def test_get_employer
24
+ ip = ENV["IP"]
25
+ t = TimeClock.new(ip, 3000, 1)
26
+
27
+ puts "Retrieving employer from '#{ip}'..."
28
+ payload = t.get_employer
29
+ puts "Received: " + payload.inspect
30
+ end
31
+
32
+ def test_set_employer
33
+ ip = ENV["IP"]
34
+ t = TimeClock.new(ip, 3000, 1)
35
+
36
+ print "Retrieve the original employer on '#{ip}'... "
37
+ original_employer = t.get_employer
38
+ puts "OK!"
39
+
40
+ print "Set a new employer... "
41
+ t.set_employer("RAZAO_SOCIAL_TEST", "LOCATION_TEST", :cnpj, "12345", "54321")
42
+ print "OK!\nReceive the new employer data to check... "
43
+ new_employer = t.get_employer
44
+
45
+ print "OK!\nSet a different employer... "
46
+ t.set_employer("RAZAO_SOCIAL", "LOCATION", :cnpj, "67890", "09876")
47
+ print "OK!\nReceive the different employer data to check... "
48
+ different_employer = t.get_employer
49
+ assert_not_equal new_employer, different_employer
50
+
51
+ print "OK!\nRestore the original employer... "
52
+ t.set_employer(original_employer[:company_name], original_employer[:company_location], original_employer[:document_type], original_employer[:document_number], original_employer[:cei_document])
53
+ print "OK!\nReceive the employer data to check if it is the original... "
54
+ assert_equal original_employer, t.get_employer
55
+ puts "OK!"
56
+ end
57
+ end
@@ -0,0 +1,31 @@
1
+ # Controle de Horas - Sistema para gestão de horas trabalhadas
2
+ # Copyright (C) 2009 O.S. Systems Softwares Ltda.
3
+
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU Affero General Public License as
6
+ # published by the Free Software Foundation, either version 3 of the
7
+ # License, or (at your option) any later version.
8
+
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU Affero General Public License for more details.
13
+
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
+ # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
18
+ # e-mail: contato@ossystems.com.br
19
+
20
+ require File.dirname(__FILE__) + '/../test_helper'
21
+
22
+ class GetSerialTest < Test::Unit::TestCase
23
+ def test_get_REP_serial_number
24
+ ip = ENV["IP"]
25
+ t = TimeClock.new(ip, 3000, 1)
26
+
27
+ puts "Retrieving serial number from '#{ip}'..."
28
+ serial = t.get_serial_number
29
+ puts "Received: " + serial.inspect
30
+ end
31
+ end
@@ -0,0 +1,32 @@
1
+ # Controle de Horas - Sistema para gestão de horas trabalhadas
2
+ # Copyright (C) 2009 O.S. Systems Softwares Ltda.
3
+
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU Affero General Public License as
6
+ # published by the Free Software Foundation, either version 3 of the
7
+ # License, or (at your option) any later version.
8
+
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU Affero General Public License for more details.
13
+
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
+ # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
18
+ # e-mail: contato@ossystems.com.br
19
+
20
+ require File.dirname(__FILE__) + '/../test_helper'
21
+
22
+ class RecordGetTest < Test::Unit::TestCase
23
+ def test_get_record_id
24
+ ip = ENV["IP"]
25
+ t = TimeClock.new(ip, 3000, 1)
26
+
27
+ time = DateTime.civil(2011,2,15,9)
28
+ puts "Retrieving data from '#{ip}'..."
29
+ payload = t.get_record_id(time)
30
+ puts "Received: " + payload.inspect
31
+ end
32
+ end
@@ -0,0 +1,84 @@
1
+ # Controle de Horas - Sistema para gestão de horas trabalhadas
2
+ # Copyright (C) 2009 O.S. Systems Softwares Ltda.
3
+
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU Affero General Public License as
6
+ # published by the Free Software Foundation, either version 3 of the
7
+ # License, or (at your option) any later version.
8
+
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU Affero General Public License for more details.
13
+
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
+ # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
18
+ # e-mail: contato@ossystems.com.br
19
+
20
+ require File.dirname(__FILE__) + '/../test_helper'
21
+
22
+ class TimeTest < Test::Unit::TestCase
23
+ def test_get_set_time
24
+ ip = ENV["IP"]
25
+ t = TimeClock.new(ip, 3000, 1)
26
+
27
+ puts "Retrieving time from '#{ip}'..."
28
+ original_time_array = t.get_time
29
+ original_time = original_time_array[0]
30
+ difference = (Time.now - original_time).truncate
31
+ puts "Received: "
32
+ puts " Time: " + original_time_array[0].to_s
33
+ puts " DST Start: " + original_time_array[1].to_s
34
+ puts " DST End: " + original_time_array[2].to_s
35
+
36
+ puts "\nSetting time to tomorrow..."
37
+ new_time = change_time(original_time_array[0], :day, 1)
38
+ t.set_time(new_time).to_s
39
+ new_array = t.get_time
40
+ puts "Received: "
41
+ puts " Time: " + new_array[0].to_s
42
+ puts " DST Start: " + new_array[1].to_s
43
+ puts " DST End: " + new_array[2].to_s
44
+
45
+ puts "\nSetting time to tomorrow and with DST starting one month earlier and ending one month after..."
46
+ new_time = change_time(original_time_array[0], :day, 1)
47
+ dst_start = change_time(original_time_array[0], :month, 1)
48
+ dst_end = change_time(original_time_array[0], :month, 1)
49
+ t.set_time(new_time, dst_start, dst_end).to_s
50
+ new_array = t.get_time
51
+ puts "Received: "
52
+ puts " Time: " + new_array[0].to_s
53
+ puts " DST Start: " + new_array[1].to_s
54
+ puts " DST End: " + new_array[2].to_s
55
+
56
+ puts "\nRestoring time..."
57
+ new_time = Time.now
58
+ dst_start = original_time_array[1]
59
+ dst_end = original_time_array[2]
60
+ puts "Received: " + t.set_time(new_time, dst_start, dst_end).to_s
61
+ end
62
+
63
+ private
64
+ def change_time(time, time_part, difference)
65
+ year, month, day, hour, minute, second = [time.year, time.month, time.day, time.hour, time.min, time.sec]
66
+ case time_part
67
+ when :year
68
+ year += difference.to_i
69
+ when :month
70
+ month += difference.to_i
71
+ when :day
72
+ day += difference.to_i
73
+ when :hour
74
+ hour += difference.to_i
75
+ when :minute
76
+ minute += difference.to_i
77
+ when :second
78
+ second += difference.to_i
79
+ else
80
+ raise "unknow time part '#{time_part}'"
81
+ end
82
+ Time.local(year,month,day,hour,minute)
83
+ end
84
+ end
@@ -0,0 +1,25 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Controle de Horas - Sistema para gestão de horas trabalhadas
3
+ # Copyright (C) 2009 O.S. Systems Softwares Ltda.
4
+
5
+ # This program is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU Affero General Public License as
7
+ # published by the Free Software Foundation, either version 3 of the
8
+ # License, or (at your option) any later version.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU Affero General Public License for more details.
14
+
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+
18
+ # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
19
+ # e-mail: contato@ossystems.com.br
20
+
21
+ $LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
22
+
23
+ require 'rubygems'
24
+ require 'test/unit'
25
+ require 'time_clock'
@@ -0,0 +1,13 @@
1
+ require 'orion6_rep'
2
+
3
+ class TimeClock
4
+ include Orion6Rep
5
+
6
+ attr_accessor :ip, :tcp_port, :number
7
+
8
+ def initialize(ip, tcp_port, number)
9
+ @ip = ip
10
+ @tcp_port = tcp_port
11
+ @number = number
12
+ end
13
+ end
@@ -0,0 +1,154 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Controle de Horas - Sistema para gestão de horas trabalhadas
3
+ # Copyright (C) 2009 O.S. Systems Softwares Ltda.
4
+
5
+ # This program is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU Affero General Public License as
7
+ # published by the Free Software Foundation, either version 3 of the
8
+ # License, or (at your option) any later version.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU Affero General Public License for more details.
14
+
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+
18
+ # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
19
+ # e-mail: contato@ossystems.com.br
20
+
21
+ require File.dirname(__FILE__) + '/../test_helper'
22
+
23
+ class MockupTest < Test::Unit::TestCase
24
+ # load the mockup
25
+ def setup
26
+ load 'orion6_rep/mockup.rb'
27
+ end
28
+
29
+ # unload the mockup
30
+ def teardown
31
+ load 'orion6_rep.rb'
32
+ end
33
+
34
+ def test_get_set_time
35
+ time = Time.now
36
+ tc = TimeClock.new "0.0.0.0", 0, 1
37
+ tc.set_time time
38
+ assert_equal [time, nil, nil], tc.get_time
39
+ end
40
+
41
+ def test_get_set_employer
42
+ tc = TimeClock.new "0.0.0.0", 0, 1
43
+ company_name = "Super Company"
44
+ company_location = "FOOBAR St."
45
+ document_type = :cnpj
46
+ document_number = 12345678901234
47
+ cei_number = 12345
48
+ tc.set_employer company_name, company_location, document_type, document_number, cei_number
49
+ assert_equal({:company_name => company_name, :company_location => company_location, :document_type => document_type, :document_number => document_number, :cei_number => cei_number}, tc.get_employer)
50
+ end
51
+
52
+ def test_get_set_employees
53
+ tc = TimeClock.new "0.0.0.0", 0, 1
54
+ assert_equal 0, tc.get_employees_quantity
55
+ assert tc.get_employees.empty?
56
+ assert tc.get_employees(0).empty?
57
+ assert tc.get_employees(1).empty?
58
+ assert tc.get_employees(1000).empty?
59
+ tc.set_employee(:add, 1234, 12345678, "Fulano de Tal")
60
+ assert_equal 1, tc.get_employees_quantity
61
+ assert_equal([{:registration => 1234, :pis_number => 12345678, :name => "Fulano de Tal"}], tc.get_employees)
62
+ tc.set_employee(:edit, 1234, 123456789, "Fulano de Tel")
63
+ assert_equal 1, tc.get_employees_quantity
64
+ assert_equal([{:registration => 1234, :pis_number => 123456789, :name => "Fulano de Tel"}], tc.get_employees)
65
+ tc.set_employee(:add, 12345, 1234567, "Ciclano de Tal")
66
+ assert_equal 2, tc.get_employees_quantity
67
+ assert_equal([{:registration => 1234, :pis_number => 123456789, :name => "Fulano de Tel"}, {:registration => 12345, :pis_number => 1234567, :name => "Ciclano de Tal"}], tc.get_employees)
68
+ assert_equal([{:registration => 1234, :pis_number => 123456789, :name => "Fulano de Tel"}, {:registration => 12345, :pis_number => 1234567, :name => "Ciclano de Tal"}], tc.get_employees(1000))
69
+ tc.set_employee(:remove, 12345, 1234567, "Ciclano de Tal")
70
+ assert_equal 1, tc.get_employees_quantity
71
+ assert_equal([{:registration => 1234, :pis_number => 123456789, :name => "Fulano de Tel"}], tc.get_employees)
72
+ end
73
+
74
+ def test_get_set_ip
75
+ tc = TimeClock.new "0.0.0.0", 0, 1
76
+ tc.change_ip("0.0.0.1")
77
+ assert_equal "0.0.0.1", Orion6Rep::Mockup.mock_ip
78
+ end
79
+
80
+ def test_get_set_ip
81
+ tc = TimeClock.new "0.0.0.0", 0, 1
82
+ tc.change_ip("0.0.0.1")
83
+ assert_equal "0.0.0.1", Orion6Rep::Mockup.mock_ip
84
+ end
85
+
86
+ def test_get_record_id
87
+ tc = TimeClock.new "0.0.0.0", 0, 1
88
+ parser = load_afd_file_fixture
89
+ tc.set_records parser
90
+ assert_equal 6, tc.get_record_id(Time.local 2011,2,11,17,22)
91
+ assert_equal 6, tc.get_record_id(Time.local 2011,2,11,17,23)
92
+ assert_equal 7, tc.get_record_id(Time.local 2011,2,11,17,24)
93
+ assert_nil tc.get_record_id(Time.local 2035,2,11,17,23)
94
+ end
95
+
96
+ def test_get_records
97
+ tc = TimeClock.new "0.0.0.0", 0, 1
98
+ parser = load_afd_file_fixture
99
+ tc.set_records parser
100
+ tc.set_employer "Super Company", "FOOBAR St.", :cnpj, 12345678901234, 12345
101
+ parser = tc.get_records
102
+ assert_equal([1, 2, 3, 4, 5, 6, 7, 8, 9],
103
+ parser.records.collect{|t| t.line_id})
104
+ assert !parser.header.nil?
105
+ assert !parser.trailer.nil?
106
+ end
107
+
108
+ def test_get_records_specifing_id
109
+ tc = TimeClock.new "0.0.0.0", 0, 1
110
+ parser = load_afd_file_fixture
111
+ tc.set_records parser
112
+ tc.set_employer "Super Company", "FOOBAR St.", :cnpj, 12345678901234, 12345
113
+ parser = tc.get_records(5)
114
+ assert_equal([5, 6, 7, 8, 9],
115
+ parser.records.collect{|t| t.line_id})
116
+ assert !parser.header.nil?
117
+ assert !parser.trailer.nil?
118
+ end
119
+
120
+ def test_detect_reps
121
+ assert_equal({}, TimeClock.detect_reps)
122
+ detection_data = {"eth0" => {"123.123.123.123" => {:port => 12345, :rep_data => "abcdata"}}}
123
+ Orion6Rep::Mockup.mock_detection_data = detection_data
124
+ assert_equal detection_data, TimeClock.detect_reps
125
+ end
126
+
127
+ def test_on_communication_success
128
+ tc = TimeClock.new "0.0.0.0", 0, 1
129
+ assert !TimeClock.instance_methods(false).include?(:on_communication_success)
130
+ tc.set_employer "Super Company", "FOOBAR St.", :cnpj, 12345678901234, 12345
131
+
132
+ TimeClock.class_eval do
133
+ attr_reader :last_communication_method
134
+ def on_communication_success(method)
135
+ @last_communication_method = method
136
+ end
137
+ end
138
+ assert TimeClock.instance_methods(false).include?(:on_communication_success)
139
+ tc = TimeClock.new "0.0.0.0", 0, 1
140
+ tc.set_employer "Super Company", "FOOBAR St.", :cnpj, 12345678901234, 12345
141
+ assert_equal :set_employer, tc.last_communication_method
142
+ end
143
+
144
+ private
145
+ def load_afd_file_fixture
146
+ parser = AfdParser.new(true)
147
+ file = File.open("test/afd_file", "r")
148
+ file.readlines.each_with_index do |line, index|
149
+ parser.parse_line(line, index)
150
+ end
151
+ file.close
152
+ return parser
153
+ end
154
+ end
metadata ADDED
@@ -0,0 +1,125 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: orion6_rep
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.6
5
+ platform: ruby
6
+ authors:
7
+ - O.S. Systems Softwares Ltda.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-10-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.8.7
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.8.7
27
+ - !ruby/object:Gem::Dependency
28
+ name: afd_parser
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: system-getifaddrs
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Use this gem to manage several features of the Henry Orion 6 eletronic
56
+ timeclocks, like report creation, user management, configuration etc.
57
+ email: contato@ossystems.com.br
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - lib/orion6_rep.rb
63
+ - lib/orion6_rep/change_ip.rb
64
+ - lib/orion6_rep/clock_time.rb
65
+ - lib/orion6_rep/clock_time/get.rb
66
+ - lib/orion6_rep/clock_time/set.rb
67
+ - lib/orion6_rep/command.rb
68
+ - lib/orion6_rep/communication.rb
69
+ - lib/orion6_rep/detect_reps.rb
70
+ - lib/orion6_rep/employee_get.rb
71
+ - lib/orion6_rep/employee_quantity_get.rb
72
+ - lib/orion6_rep/employee_set.rb
73
+ - lib/orion6_rep/employer_get.rb
74
+ - lib/orion6_rep/employer_set.rb
75
+ - lib/orion6_rep/get_serial_number.rb
76
+ - lib/orion6_rep/interface.rb
77
+ - lib/orion6_rep/mockup.rb
78
+ - lib/orion6_rep/multi_message_command.rb
79
+ - lib/orion6_rep/record_id_get.rb
80
+ - lib/orion6_rep/records_get.rb
81
+ - lib/orion6_rep/version.rb
82
+ - test/afd_file
83
+ - test/external/detect_reps_test.rb
84
+ - test/external/employee_test.rb
85
+ - test/external/employer_test.rb
86
+ - test/external/get_serial_test.rb
87
+ - test/external/record_get_test.rb
88
+ - test/external/time_test.rb
89
+ - test/test_helper.rb
90
+ - test/time_clock.rb
91
+ - test/unit/mockup_test.rb
92
+ homepage: http://www.ossystems.com.br/
93
+ licenses: []
94
+ metadata: {}
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubyforge_project:
111
+ rubygems_version: 2.6.11
112
+ signing_key:
113
+ specification_version: 4
114
+ summary: Gem to manage Henry Orion 6 eletronic timeclocks
115
+ test_files:
116
+ - test/test_helper.rb
117
+ - test/unit/mockup_test.rb
118
+ - test/time_clock.rb
119
+ - test/external/record_get_test.rb
120
+ - test/external/detect_reps_test.rb
121
+ - test/external/employer_test.rb
122
+ - test/external/get_serial_test.rb
123
+ - test/external/time_test.rb
124
+ - test/external/employee_test.rb
125
+ - test/afd_file