butler-mainframe 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -2
- data/Gemfile +1 -1
- data/README.md +36 -10
- data/lib/generators/butler_mainframe.rb +1 -33
- data/lib/mainframe/customization/active_record.rb +6 -2
- data/lib/mainframe/host_base.rb +0 -1
- data/lib/mainframe/passport.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4002cfeff0a68711d48ded02dabdcfb246dfd8f
|
4
|
+
data.tar.gz: d48bb6bd6986aa9b12cb2fe1695de8a73639ccbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: efbafb8fc1ae9f9416294f4f2b8dfd9e863d49f2651d6b16771ed9bf593466a4688f673d888a679c298f4b3c0e62b8e28ab520be9d99f54b28a8f0db44cf3d0d
|
7
|
+
data.tar.gz: 5e4043550886c4bfc8540c8044da940f326e98fe3c3f7160f415d180bdca608c0fb80e12146f584f5f27cadd7e380b6598af7ea723ef9eb5cc43ccd98aa83ce3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6 [☰](https://github.com/marcomd/butler-mainframe/compare/v0.0.5...v0.0.6) October 12th, 2015
|
2
2
|
------------------------------
|
3
|
-
*
|
3
|
+
* Added a simple rake test
|
4
|
+
* Improved documentation
|
5
|
+
* Several little improvements
|
6
|
+
|
7
|
+
0.0.5 October 7th, 2015
|
8
|
+
------------------------------
|
9
|
+
* First working release
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,16 +1,14 @@
|
|
1
1
|
# Butler-mainframe
|
2
2
|
|
3
3
|
[![Version ](http://img.shields.io/gem/v/butler-mainframe.svg) ](https://rubygems.org/gems/butler-mainframe)
|
4
|
-
[![Travis CI ](http://img.shields.io/travis/marcomd/butler-mainframe/master.svg) ](https://travis-ci.org/marcomd/butler-mainframe)
|
5
4
|
[![Quality ](http://img.shields.io/codeclimate/github/marcomd/butler-mainframe.svg)](https://codeclimate.com/github/marcomd/butler-mainframe)
|
6
5
|
|
7
6
|
This gem provides a virtual butler which can perform your custom tasks on a 3270 emulator.
|
8
|
-
You just have to choose your emulator and configure your
|
7
|
+
You just have to choose your emulator and configure your tasks.
|
9
8
|
|
10
9
|
## Compatibility
|
11
10
|
|
12
|
-
|
13
|
-
Check on travis badge
|
11
|
+
Developed on a windows plaftorm.
|
14
12
|
|
15
13
|
|
16
14
|
## Install
|
@@ -47,7 +45,7 @@ now session is ready to use:
|
|
47
45
|
|
48
46
|
host.scan_page
|
49
47
|
|
50
|
-
should return
|
48
|
+
should return what you see on your terminal
|
51
49
|
|
52
50
|
## Commands
|
53
51
|
|
@@ -105,6 +103,7 @@ My advice is to use navigate method for generic navigation and use a specific mo
|
|
105
103
|
|
106
104
|
## With Rails
|
107
105
|
|
106
|
+
__In development...__
|
108
107
|
This module can be use on rails project.
|
109
108
|
Add in your gemfile
|
110
109
|
|
@@ -120,13 +119,27 @@ run generator to copy configuration files
|
|
120
119
|
|
121
120
|
```ruby
|
122
121
|
Class Invoice
|
123
|
-
... your code
|
122
|
+
# ... your code
|
124
123
|
|
125
124
|
def host3270
|
126
|
-
host = ButlerMainframe::Host.new
|
127
|
-
host.navigate :my_starting_position
|
128
|
-
|
129
|
-
|
125
|
+
@host = ButlerMainframe::Host.new
|
126
|
+
@host.navigate :my_starting_position
|
127
|
+
|
128
|
+
# Always check whether we are positioned on the screen that we expect
|
129
|
+
raise 'Screen not expected' unless self.my_function_start_screen?
|
130
|
+
|
131
|
+
# We develop the function.
|
132
|
+
# In this simple case we put a number in a map cics and press Enter
|
133
|
+
@host.write self.invoice_number
|
134
|
+
@host.do_enter
|
135
|
+
|
136
|
+
# to read the confirmation message
|
137
|
+
raise 'Message not expected' unless /SUCCESSFUL/ === self.catch_message
|
138
|
+
|
139
|
+
@host.close_session
|
140
|
+
rescue
|
141
|
+
host.screenshot :error
|
142
|
+
# Manage the invoice status etc.
|
130
143
|
end
|
131
144
|
end
|
132
145
|
```
|
@@ -137,6 +150,19 @@ rails generate screen hook_id:integer 'hook_type:string{30}' 'screen_type:intege
|
|
137
150
|
In the model to be related to screen we insert:
|
138
151
|
has_many :screens, :as => :hook, :dependent => :destroy
|
139
152
|
|
153
|
+
|
154
|
+
## Test with rake
|
155
|
+
|
156
|
+
Simple embedded tests
|
157
|
+
|
158
|
+
bundle install
|
159
|
+
bundle exec rake butler:mainframe:test
|
160
|
+
|
161
|
+
For more informations:
|
162
|
+
|
163
|
+
bundle exec rake -T
|
164
|
+
|
165
|
+
|
140
166
|
## License
|
141
167
|
|
142
168
|
The GNU Lesser General Public License, version 3.0 (LGPL-3.0)
|
@@ -1,38 +1,6 @@
|
|
1
1
|
module ButlerMainframe
|
2
2
|
module Base
|
3
3
|
protected
|
4
|
-
#
|
5
|
-
# "app/models/ability.rb"
|
6
|
-
# end
|
7
|
-
# def authorization?
|
8
|
-
# File.exists? authorization_file
|
9
|
-
# end
|
10
|
-
# def authentication_file auth_class="User"
|
11
|
-
# "app/models/#{auth_class.downcase}.rb"
|
12
|
-
# end
|
13
|
-
# def authentication? auth_class="User"
|
14
|
-
# return true if File.exists? authentication_file(auth_class)
|
15
|
-
# File.exists? "config/initializers/devise.rb"
|
16
|
-
# end
|
17
|
-
# def activeadmin_file
|
18
|
-
# "config/initializers/active_admin.rb"
|
19
|
-
# end
|
20
|
-
# def activeadmin?
|
21
|
-
# File.exists? activeadmin_file
|
22
|
-
# end
|
23
|
-
# def auth_class
|
24
|
-
# return unless options[:auth_class]
|
25
|
-
# options[:auth_class].classify
|
26
|
-
# end
|
27
|
-
#def formtastic?
|
28
|
-
# return false unless options.formtastic?
|
29
|
-
# File.exists? "config/initializers/formtastic.rb"
|
30
|
-
#end
|
31
|
-
#def jquery_ui?
|
32
|
-
# File.exists? "vendor/assets/javascripts/jquery-ui"
|
33
|
-
#end
|
34
|
-
#def pagination?
|
35
|
-
# File.exists? "config/initializers/kaminari_config.rb"
|
36
|
-
#end
|
4
|
+
# Generator's common methods
|
37
5
|
end
|
38
6
|
end
|
@@ -8,7 +8,7 @@ module Host3270
|
|
8
8
|
# In the model to be related to screen we insert:
|
9
9
|
# has_many :screens, :as => :hook, :dependent => :destroy
|
10
10
|
module ActiveRecord
|
11
|
-
# screen_type: error,
|
11
|
+
# screen_type: error, notice, warning...
|
12
12
|
def screenshot screen_type, options={}
|
13
13
|
options = {
|
14
14
|
:message => nil,
|
@@ -16,7 +16,11 @@ module Host3270
|
|
16
16
|
:rails_model => Screen
|
17
17
|
}.merge(options)
|
18
18
|
screen = options[:rails_model].new
|
19
|
-
screen.screen_type = screen_type
|
19
|
+
screen.screen_type = case screen_type
|
20
|
+
when :notice then 1
|
21
|
+
when :warning then 2
|
22
|
+
else 0 #error
|
23
|
+
end
|
20
24
|
screen.message = options[:message] || catch_message
|
21
25
|
screen.video = options[:video] || scan(:y1 => 1, :x1 => 1, :y2 => 22, :x2 => 80)
|
22
26
|
screen.cursor_y, screen.cursor_x = get_cursor_axes
|
data/lib/mainframe/host_base.rb
CHANGED
data/lib/mainframe/passport.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: butler-mainframe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marco Mastrodonato
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: This gem provides a virtual butler which can perform your custom tasks
|
14
14
|
on a 3270 emulator. You just have to choose your emulator (atm only one choice)
|