paramedic 0.0.1

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
+ 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
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
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,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -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
@@ -0,0 +1,3 @@
1
+ module Paramedic
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,13 @@
1
+ require 'nokogiri'
2
+
3
+ module Paramedic
4
+ class XMLTherapist
5
+ def massage(xml)
6
+ Nokogiri::XML(xml){
7
+ |x| x.noblanks
8
+ }.to_xml(
9
+ save_with: Nokogiri::XML::Node::SaveOptions::NO_EMPTY_TAGS
10
+ )
11
+ end
12
+ end
13
+ end
data/lib/paramedic.rb ADDED
@@ -0,0 +1,6 @@
1
+ require "paramedic/version"
2
+ require "paramedic/encoder"
3
+ require "paramedic/xml_therapist"
4
+
5
+ module Paramedic
6
+ end
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
@@ -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