paramedic 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.rspec +2 -0
- data/Gemfile +2 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +2 -0
- data/lib/paramedic/encoder.rb +55 -0
- data/lib/paramedic/version.rb +3 -0
- data/lib/paramedic/xml_therapist.rb +13 -0
- data/lib/paramedic.rb +6 -0
- data/paramedic.gemspec +28 -0
- data/spec/paramedic/encoder_spec.rb +110 -0
- data/spec/paramedic/xml_therapist_spec.rb +80 -0
- data/spec/spec_helper.rb +11 -0
- metadata +147 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6c4e97b7c96c2e85cef5daf072af7b7ca46de76f
|
4
|
+
data.tar.gz: d96c454cff95c4df687ac868cfa6f12d77b911ed
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 353aba54ab255a3e9d9195dffd6435152ad83b55bf8dcba2eb527bf3d38d06fddd0e76166633aa69021e356d81cd9e83c3d05418b656e138ea98ce0e7e8e9e1d
|
7
|
+
data.tar.gz: 2e0f063155d72410748917b0a98032dc0e33769af2b2f1c0949f9335e6ac0be12374fc4f2fc218c2d8c318a1f2ad454d608e460afb9f55efde8c2fbcdbb4dc62
|
data/.gitignore
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
*.bundle
|
19
|
+
*.so
|
20
|
+
*.o
|
21
|
+
*.a
|
22
|
+
mkmf.log
|
data/.rspec
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Joseph Jaber
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Paramedic
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'paramedic'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install paramedic
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it ( https://github.com/[my-github-username]/paramedic/fork )
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'uri'
|
2
|
+
|
3
|
+
module Paramedic
|
4
|
+
class Encoder
|
5
|
+
def initialize(params)
|
6
|
+
@params = params
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_s
|
10
|
+
params.collect { |k, v| "#{k}=#{encode(v)}" }.join('&')
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
attr_reader :params
|
16
|
+
|
17
|
+
def encode(value)
|
18
|
+
URI.escape(value.to_s).gsub(Regexp.new(terms)) { |match| replacements[match] }
|
19
|
+
end
|
20
|
+
|
21
|
+
def replacements
|
22
|
+
{
|
23
|
+
'?' => '%3F',
|
24
|
+
'=' => '%3D',
|
25
|
+
'/' => '%2F',
|
26
|
+
'{' => '%7B',
|
27
|
+
'}' => '%7D',
|
28
|
+
':' => '%3A',
|
29
|
+
',' => '%2C',
|
30
|
+
';' => '%3B',
|
31
|
+
'%0A' => '%0D%0A',
|
32
|
+
'#' => '%23',
|
33
|
+
'&' => '%24',
|
34
|
+
'@' => '%40',
|
35
|
+
#'%' => '%25', # Surprisingly, this one doesn't appear to be replaced. We'll need to confirm.
|
36
|
+
'+' => '%2B',
|
37
|
+
'$' => '%26',
|
38
|
+
'<' => '%3C',
|
39
|
+
'>' => '%3E',
|
40
|
+
#'~' => '%25', $ Tilde too.
|
41
|
+
'^' => '%5E',
|
42
|
+
'`' => '%60',
|
43
|
+
?\ => '%5C',
|
44
|
+
'[' => '%5B',
|
45
|
+
']' => '%5D',
|
46
|
+
'|' => '%7C',
|
47
|
+
'"' => '%22'
|
48
|
+
}
|
49
|
+
end
|
50
|
+
|
51
|
+
def terms
|
52
|
+
replacements.keys.collect { |term| Regexp.escape(term) }.join('|')
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/paramedic.rb
ADDED
data/paramedic.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'paramedic/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "paramedic"
|
8
|
+
spec.version = Paramedic::VERSION
|
9
|
+
spec.authors = ["Joseph Jaber", "Ryan Cammer"]
|
10
|
+
spec.email = ["mail@josephjaber.com", "ryancammer@gmail.com"]
|
11
|
+
spec.summary = %q{Parameter handler}
|
12
|
+
spec.description = %q{Parameter handler}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "nokogiri"
|
22
|
+
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
24
|
+
spec.add_development_dependency "rake"
|
25
|
+
spec.add_development_dependency "guard"
|
26
|
+
spec.add_development_dependency "guard-rspec"
|
27
|
+
spec.add_development_dependency "rspec"
|
28
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
|
3
|
+
module Paramedic
|
4
|
+
describe Encoder do
|
5
|
+
describe '#to_s' do
|
6
|
+
subject { described_class.new(args).to_s }
|
7
|
+
|
8
|
+
context 'with a single parameter' do
|
9
|
+
let(:args) {
|
10
|
+
{
|
11
|
+
key => value
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
let(:key) { 'CMD' }
|
16
|
+
|
17
|
+
context 'with a simple value' do
|
18
|
+
let(:value) { 'value1' }
|
19
|
+
|
20
|
+
it 'returns the expected string' do
|
21
|
+
expect(subject).to eq "#{key}=#{value}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'with xml' do
|
26
|
+
let(:value) {
|
27
|
+
XMLTherapist.new.massage(<<-end_of_xml
|
28
|
+
<?xml version="1.0"?>
|
29
|
+
<ViewCommand><GROUP>WEB_RMLEAS</GROUP><PAGE>OCCP</PAGE><COMMAND>SAVE</COMMAND><PARMS>~GROUP=WEB_RMLEAS~MENU=NONE~WHERE=NAME.NAMEID='{{id}}'~INFRAME=Y~PARENTMENUNAME=WEB_RMHOME~PARENTMENUID=MRI_69~PARENTSAVE=Y~PATH=C:\\Program Files (x86)\\MriWeb\\~URL=/mripage.asp~</PARMS>
|
30
|
+
<CURRENTKEY>~NAMEID={{id}}~</CURRENTKEY>
|
31
|
+
<CURRENTORDERFLDS>~NAMEID='{{id}}'~</CURRENTORDERFLDS>
|
32
|
+
<ORDERBY></ORDERBY>
|
33
|
+
<WHERE>NAME.NAMEID='{{id}}'</WHERE>
|
34
|
+
<USERQRY></USERQRY>
|
35
|
+
<GROUP>WEB_RMLEAS</GROUP>
|
36
|
+
<MENUNAME></MENUNAME>
|
37
|
+
<MENUID></MENUID>
|
38
|
+
<INFRAME>Y</INFRAME>
|
39
|
+
<PARENTMENUNAME>WEB_RMHOME</PARENTMENUNAME>
|
40
|
+
<PARENTMENUID>MRI_69</PARENTMENUID>
|
41
|
+
<FILTERID></FILTERID>
|
42
|
+
<FORM>OCCP</FORM>
|
43
|
+
<CMDBTNS>
|
44
|
+
<MRIX_2>CLNTCMD{INSERTROW,NEWOCCP}</MRIX_2>
|
45
|
+
<MRIX_3>CLNTCMD{SAVE CLNTCMD{DELETEROW,NEWOCCP} }</MRIX_3>
|
46
|
+
<BTNAPPFEE>CLNTCMD{RECALC,CMDID=BTNAPPFEE}</BTNAPPFEE>
|
47
|
+
</CMDBTNS>
|
48
|
+
<HIDE>
|
49
|
+
<BTNAPPFEE>HIDE</BTNAPPFEE>
|
50
|
+
</HIDE>
|
51
|
+
<UPDATEABLE>Y</UPDATEABLE>
|
52
|
+
<ALLOWABANDON>Y</ALLOWABANDON>
|
53
|
+
<PARENTSAVE>Y</PARENTSAVE>
|
54
|
+
<ABANDON></ABANDON>
|
55
|
+
<DELETECOOKIES>COOKIE_1;COOKIE_7;</DELETECOOKIES>
|
56
|
+
<CLIENTEXPR></CLIENTEXPR>
|
57
|
+
<BASECLIENTEXPR></BASECLIENTEXPR>
|
58
|
+
<TABCHANGEEXPR>CLNTCMD{SAVE}</TABCHANGEEXPR>
|
59
|
+
<HELPPAGE>RM\\NAVPAGES\\WEB_RMLEAS_OCCP.htm</HELPPAGE>
|
60
|
+
<PATH>C:\\Program Files (x86)\\MriWeb\\</PATH>
|
61
|
+
<URL>/mripage.asp</URL>
|
62
|
+
<COMMENT>
|
63
|
+
Your rent.
|
64
|
+
37672.66: Start GetWebHtmlAndData
|
65
|
+
37672.82 0 elapsed for BuildMenu
|
66
|
+
37672.83 0.0156 elapsed for Build HTML
|
67
|
+
37672.83 0 elapsed for CmdXml to Svr
|
68
|
+
37672.85 0 elapsed for cleargroup
|
69
|
+
37672.85 0 elapsed for GetData 1
|
70
|
+
37672.85 0 elapsed for BaseQry SQL
|
71
|
+
37672.85 0 elapsed for BaseQry Fetch
|
72
|
+
37672.85 0 elapsed for ExecuteQuery total
|
73
|
+
37672.85 0 elapsed for Grid Qry SQL
|
74
|
+
37672.86 0.0156 elapsed for Grid Fetch
|
75
|
+
37672.86 0 elapsed for Build DataXml (0 Rows)
|
76
|
+
37672.86 0.0156 elapsed for GetData
|
77
|
+
Evaluate Count: 21
|
78
|
+
SQL Time: 0.296875
|
79
|
+
</COMMENT>
|
80
|
+
<APPLID></APPLID>
|
81
|
+
</ViewCommand>
|
82
|
+
end_of_xml
|
83
|
+
)
|
84
|
+
}
|
85
|
+
|
86
|
+
let(:serialized_value) {
|
87
|
+
"%3C%3Fxml%20version%3D%221.0%22%3F%3E%0D%0A%3CViewCommand%3E%3CGROUP%3EWEB_RMLEAS%3C%2FGROUP%3E%3CPAGE%3EOCCP%3C%2FPAGE%3E%3CCOMMAND%3ESAVE%3C%2FCOMMAND%3E%3CPARMS%3E~GROUP%3DWEB_RMLEAS~MENU%3DNONE~WHERE%3DNAME.NAMEID%3D'%7B%7Bid%7D%7D'~INFRAME%3DY~PARENTMENUNAME%3DWEB_RMHOME~PARENTMENUID%3DMRI_69~PARENTSAVE%3DY~PATH%3DC%3A%5CProgram%20Files%20(x86)%5CMriWeb%5C~URL%3D%2Fmripage.asp~%3C%2FPARMS%3E%3CCURRENTKEY%3E~NAMEID%3D%7B%7Bid%7D%7D~%3C%2FCURRENTKEY%3E%3CCURRENTORDERFLDS%3E~NAMEID%3D'%7B%7Bid%7D%7D'~%3C%2FCURRENTORDERFLDS%3E%3CORDERBY%3E%3C%2FORDERBY%3E%3CWHERE%3ENAME.NAMEID%3D'%7B%7Bid%7D%7D'%3C%2FWHERE%3E%3CUSERQRY%3E%3C%2FUSERQRY%3E%3CGROUP%3EWEB_RMLEAS%3C%2FGROUP%3E%3CMENUNAME%3E%3C%2FMENUNAME%3E%3CMENUID%3E%3C%2FMENUID%3E%3CINFRAME%3EY%3C%2FINFRAME%3E%3CPARENTMENUNAME%3EWEB_RMHOME%3C%2FPARENTMENUNAME%3E%3CPARENTMENUID%3EMRI_69%3C%2FPARENTMENUID%3E%3CFILTERID%3E%3C%2FFILTERID%3E%3CFORM%3EOCCP%3C%2FFORM%3E%3CCMDBTNS%3E%3CMRIX_2%3ECLNTCMD%7BINSERTROW%2CNEWOCCP%7D%3C%2FMRIX_2%3E%3CMRIX_3%3ECLNTCMD%7BSAVE%20CLNTCMD%7BDELETEROW%2CNEWOCCP%7D%20%7D%3C%2FMRIX_3%3E%3CBTNAPPFEE%3ECLNTCMD%7BRECALC%2CCMDID%3DBTNAPPFEE%7D%3C%2FBTNAPPFEE%3E%3C%2FCMDBTNS%3E%3CHIDE%3E%3CBTNAPPFEE%3EHIDE%3C%2FBTNAPPFEE%3E%3C%2FHIDE%3E%3CUPDATEABLE%3EY%3C%2FUPDATEABLE%3E%3CALLOWABANDON%3EY%3C%2FALLOWABANDON%3E%3CPARENTSAVE%3EY%3C%2FPARENTSAVE%3E%3CABANDON%3E%3C%2FABANDON%3E%3CDELETECOOKIES%3ECOOKIE_1%3BCOOKIE_7%3B%3C%2FDELETECOOKIES%3E%3CCLIENTEXPR%3E%3C%2FCLIENTEXPR%3E%3CBASECLIENTEXPR%3E%3C%2FBASECLIENTEXPR%3E%3CTABCHANGEEXPR%3ECLNTCMD%7BSAVE%7D%3C%2FTABCHANGEEXPR%3E%3CHELPPAGE%3ERM%5CNAVPAGES%5CWEB_RMLEAS_OCCP.htm%3C%2FHELPPAGE%3E%3CPATH%3EC%3A%5CProgram%20Files%20(x86)%5CMriWeb%5C%3C%2FPATH%3E%3CURL%3E%2Fmripage.asp%3C%2FURL%3E%3CCOMMENT%3E%0D%0A%20%20%20%20Your%20rent.%0D%0A%20%20%20%2037672.66%3A%20Start%20GetWebHtmlAndData%0D%0A%20%20%20%2037672.82%20%20%20%20%20%200%20elapsed%20for%20%20%20%20%20BuildMenu%0D%0A%20%20%20%2037672.83%20%20%20%20%20%200.0156%20elapsed%20for%20%20%20Build%20HTML%0D%0A%20%20%20%2037672.83%20%20%20%20%20%200%20elapsed%20for%20CmdXml%20to%20Svr%0D%0A%20%20%20%2037672.85%20%20%20%20%20%200%20elapsed%20for%20cleargroup%0D%0A%20%20%20%2037672.85%20%20%20%20%20%200%20elapsed%20for%20GetData%201%0D%0A%20%20%20%2037672.85%20%20%20%20%20%200%20elapsed%20for%20BaseQry%20SQL%0D%0A%20%20%20%2037672.85%20%20%20%20%20%200%20elapsed%20for%20BaseQry%20Fetch%0D%0A%20%20%20%2037672.85%20%20%20%20%20%200%20elapsed%20for%20ExecuteQuery%20total%0D%0A%20%20%20%2037672.85%20%20%20%20%20%200%20elapsed%20for%20Grid%20Qry%20SQL%0D%0A%20%20%20%2037672.86%20%20%20%20%20%200.0156%20elapsed%20for%20Grid%20Fetch%0D%0A%20%20%20%2037672.86%20%20%20%20%20%200%20elapsed%20for%20Build%20DataXml%20(0%20Rows)%0D%0A%20%20%20%2037672.86%20%20%20%20%20%200.0156%20elapsed%20for%20GetData%0D%0A%20%20%20%20Evaluate%20Count%3A%2021%0D%0A%20%20%20%20SQL%20Time%3A%200.296875%0D%0A%20%20%3C%2FCOMMENT%3E%3CAPPLID%3E%3C%2FAPPLID%3E%3C%2FViewCommand%3E%0D%0A"
|
88
|
+
}
|
89
|
+
|
90
|
+
it 'returns the expected string' do
|
91
|
+
expect(subject).to eq "#{key}=#{serialized_value}"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'with two parameters' do
|
97
|
+
let(:args) {
|
98
|
+
{
|
99
|
+
PAGE: :OCCP,
|
100
|
+
ID: 'MRI_1'
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
104
|
+
it 'returns the expected string' do
|
105
|
+
expect(subject).to eq 'PAGE=OCCP&ID=MRI_1'
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
|
3
|
+
module Paramedic
|
4
|
+
describe XMLTherapist do
|
5
|
+
describe '#massage' do
|
6
|
+
let(:xml) {
|
7
|
+
<<-end_of_xml
|
8
|
+
<?xml version="1.0"?>
|
9
|
+
<ViewCommand><GROUP>WEB_RMLEAS</GROUP><PAGE>OCCP</PAGE><COMMAND>SAVE</COMMAND><PARMS>~GROUP=WEB_RMLEAS~MENU=NONE~WHERE=NAME.NAMEID='{{id}}'~INFRAME=Y~PARENTMENUNAME=WEB_RMHOME~PARENTMENUID=MRI_69~PARENTSAVE=Y~PATH=C:\\Program Files (x86)\\MriWeb\\~URL=/mripage.asp~</PARMS>
|
10
|
+
<CURRENTKEY>~NAMEID={{id}}~</CURRENTKEY>
|
11
|
+
<CURRENTORDERFLDS>~NAMEID='{{id}}'~</CURRENTORDERFLDS>
|
12
|
+
<ORDERBY></ORDERBY>
|
13
|
+
<WHERE>NAME.NAMEID='{{id}}'</WHERE>
|
14
|
+
<USERQRY></USERQRY>
|
15
|
+
<GROUP>WEB_RMLEAS</GROUP>
|
16
|
+
<MENUNAME></MENUNAME>
|
17
|
+
<MENUID></MENUID>
|
18
|
+
<INFRAME>Y</INFRAME>
|
19
|
+
<PARENTMENUNAME>WEB_RMHOME</PARENTMENUNAME>
|
20
|
+
<PARENTMENUID>MRI_69</PARENTMENUID>
|
21
|
+
<FILTERID></FILTERID>
|
22
|
+
<FORM>OCCP</FORM>
|
23
|
+
<CMDBTNS>
|
24
|
+
<MRIX_2>CLNTCMD{INSERTROW,NEWOCCP}</MRIX_2>
|
25
|
+
<MRIX_3>CLNTCMD{SAVE CLNTCMD{DELETEROW,NEWOCCP} }</MRIX_3>
|
26
|
+
<BTNAPPFEE>CLNTCMD{RECALC,CMDID=BTNAPPFEE}</BTNAPPFEE>
|
27
|
+
</CMDBTNS>
|
28
|
+
<HIDE>
|
29
|
+
<BTNAPPFEE>HIDE</BTNAPPFEE>
|
30
|
+
</HIDE>
|
31
|
+
<UPDATEABLE>Y</UPDATEABLE>
|
32
|
+
<ALLOWABANDON>Y</ALLOWABANDON>
|
33
|
+
<PARENTSAVE>Y</PARENTSAVE>
|
34
|
+
<ABANDON></ABANDON>
|
35
|
+
<DELETECOOKIES>COOKIE_1;COOKIE_7;</DELETECOOKIES>
|
36
|
+
<CLIENTEXPR></CLIENTEXPR>
|
37
|
+
<BASECLIENTEXPR></BASECLIENTEXPR>
|
38
|
+
<TABCHANGEEXPR>CLNTCMD{SAVE}</TABCHANGEEXPR>
|
39
|
+
<HELPPAGE>RM\\NAVPAGES\\WEB_RMLEAS_OCCP.htm</HELPPAGE>
|
40
|
+
<PATH>C:\\Program Files (x86)\\MriWeb\\</PATH>
|
41
|
+
<URL>/mripage.asp</URL>
|
42
|
+
<COMMENT>
|
43
|
+
Your rent.
|
44
|
+
37672.66: Start GetWebHtmlAndData
|
45
|
+
37672.82 0 elapsed for BuildMenu
|
46
|
+
37672.83 0.0156 elapsed for Build HTML
|
47
|
+
37672.83 0 elapsed for CmdXml to Svr
|
48
|
+
37672.85 0 elapsed for cleargroup
|
49
|
+
37672.85 0 elapsed for GetData 1
|
50
|
+
37672.85 0 elapsed for BaseQry SQL
|
51
|
+
37672.85 0 elapsed for BaseQry Fetch
|
52
|
+
37672.85 0 elapsed for ExecuteQuery total
|
53
|
+
37672.85 0 elapsed for Grid Qry SQL
|
54
|
+
37672.86 0.0156 elapsed for Grid Fetch
|
55
|
+
37672.86 0 elapsed for Build DataXml (0 Rows)
|
56
|
+
37672.86 0.0156 elapsed for GetData
|
57
|
+
Evaluate Count: 21
|
58
|
+
SQL Time: 0.296875
|
59
|
+
</COMMENT>
|
60
|
+
<APPLID></APPLID>
|
61
|
+
</ViewCommand>
|
62
|
+
end_of_xml
|
63
|
+
}
|
64
|
+
|
65
|
+
subject{ described_class.new.massage(xml) }
|
66
|
+
|
67
|
+
it 'removes all but the first newline in between elements' do
|
68
|
+
expect(subject.scan(/>\n</).count).to be 1
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'does not collapse elements' do
|
72
|
+
expect(subject.scan(/<USERQRY><\/USERQRY>/).count).to be 1
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'html escapes specified elements' do
|
76
|
+
expect(subject.scan(/<USERQRY><\/USERQRY>/).count).to be 1
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'paramedic'
|
2
|
+
|
3
|
+
RSpec.configure do |config|
|
4
|
+
config.expect_with :rspec do |expectations|
|
5
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
6
|
+
end
|
7
|
+
|
8
|
+
config.mock_with :rspec do |mocks|
|
9
|
+
mocks.verify_partial_doubles = true
|
10
|
+
end
|
11
|
+
end
|
metadata
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: paramedic
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Joseph Jaber
|
8
|
+
- Ryan Cammer
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2015-04-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: nokogiri
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.6'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '1.6'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: guard
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: guard-rspec
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rspec
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
description: Parameter handler
|
99
|
+
email:
|
100
|
+
- mail@josephjaber.com
|
101
|
+
- ryancammer@gmail.com
|
102
|
+
executables: []
|
103
|
+
extensions: []
|
104
|
+
extra_rdoc_files: []
|
105
|
+
files:
|
106
|
+
- ".gitignore"
|
107
|
+
- ".rspec"
|
108
|
+
- Gemfile
|
109
|
+
- LICENSE.txt
|
110
|
+
- README.md
|
111
|
+
- Rakefile
|
112
|
+
- lib/paramedic.rb
|
113
|
+
- lib/paramedic/encoder.rb
|
114
|
+
- lib/paramedic/version.rb
|
115
|
+
- lib/paramedic/xml_therapist.rb
|
116
|
+
- paramedic.gemspec
|
117
|
+
- spec/paramedic/encoder_spec.rb
|
118
|
+
- spec/paramedic/xml_therapist_spec.rb
|
119
|
+
- spec/spec_helper.rb
|
120
|
+
homepage: ''
|
121
|
+
licenses:
|
122
|
+
- MIT
|
123
|
+
metadata: {}
|
124
|
+
post_install_message:
|
125
|
+
rdoc_options: []
|
126
|
+
require_paths:
|
127
|
+
- lib
|
128
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
requirements: []
|
139
|
+
rubyforge_project:
|
140
|
+
rubygems_version: 2.4.5
|
141
|
+
signing_key:
|
142
|
+
specification_version: 4
|
143
|
+
summary: Parameter handler
|
144
|
+
test_files:
|
145
|
+
- spec/paramedic/encoder_spec.rb
|
146
|
+
- spec/paramedic/xml_therapist_spec.rb
|
147
|
+
- spec/spec_helper.rb
|