scon 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/scon +32 -0
  3. data/lib/scon/version.rb +1 -1
  4. data/scon.gemspec +1 -1
  5. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61a64a294cb55566d8184fca83089010a4277ff5
4
- data.tar.gz: 23577a76d5a336c369e21953a7e6052b30b787bc
3
+ metadata.gz: 96a8ac80f8ff0d178edd9e66402b49e7ab1d580d
4
+ data.tar.gz: db5548b13106dfdfc836349d6b436697c213d950
5
5
  SHA512:
6
- metadata.gz: f514339fbe3c8403dfa79dbe41f0ea7afdf379951bcea33ce5b9d3677ea1d1064f0172c0dbacb49b5cfb460fa49104c6909fd00c31bf5da956f85ae95d836753
7
- data.tar.gz: 88e8161cce48e6ba7abda2ef6e8f7f0ebbc4c810694edd41216e3f08f598e2cc7c32d01d94e951594298a3ac3867dfceeb2cdf2b64f5e14a6d86e2be77dd9dc5
6
+ metadata.gz: 02acd1ce5075bff0b0de6878b25b4b6b5d81a6f193d770f5a361150fb47c45a66cfb407270739bb787cb917ab7c687bc07bc8c4742501283eea9266d9e729515
7
+ data.tar.gz: 5aa365eef16c84a7b533dcd3665293cfe958b2d4d24aacb97b272a7aec243fbdf1720e84788c706f5115a1d7516285b7c52ece4bd6649c7037aa5dd522daa01f
data/bin/scon ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+ require 'scon'
3
+ require 'optparse'
4
+
5
+ @options = { :type => :json }
6
+ OptionParser.new do |o|
7
+ o.on("-o", "--output FILE", "Output generated SCON to the file") {|x| @options[:output] = x }
8
+ o.on("-i", "--input FILE", "Input JSON from a specified file") {|x| @options[:input] = x }
9
+ o.on("--json", "Use JSON as an input type") {|x| @options[:type] = :json}
10
+ o.on("--msgpack", "Use MessagePack as an input type") {|x| @options[:type] = :msgpack}
11
+ end.parse!
12
+
13
+ if @options.include? :type
14
+ @type = @options[:type]
15
+ require "#{@type.to_s}"
16
+ else
17
+ require "json"
18
+ end
19
+
20
+ def parse data
21
+ case @type
22
+ when :json
23
+ return JSON.parse(data)
24
+ when :msgpack
25
+ return MessagePack.unpack(data)
26
+ end
27
+ end
28
+
29
+ data = @options.include?(:input) ? File.read(@options[:input]) : ARGF.read
30
+ scon = SCON.generate! parse(data)
31
+
32
+ @options.include?(:output) ? File.write(@options[:output], scon) : $stdout.puts(scon)
data/lib/scon/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module SCON
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/scon.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.bindir = "bin"
27
27
  spec.files = Dir.glob("lib/**/*") + ['Rakefile', 'scon.gemspec', 'Gemfile', 'Rakefile']
28
- spec.executables = []
28
+ spec.executables = ["scon"]
29
29
  spec.require_paths = ["lib"]
30
30
 
31
31
  spec.add_development_dependency "bundler"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - JacisNonsense
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-11 00:00:00.000000000 Z
11
+ date: 2015-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,12 +44,14 @@ description: |-
44
44
  reusing duplicate keys with a binary reference and clever type definitions.
45
45
  email:
46
46
  - jaci.brunning@gmail.com
47
- executables: []
47
+ executables:
48
+ - scon
48
49
  extensions: []
49
50
  extra_rdoc_files: []
50
51
  files:
51
52
  - Gemfile
52
53
  - Rakefile
54
+ - bin/scon
53
55
  - lib/scon.rb
54
56
  - lib/scon/constants.rb
55
57
  - lib/scon/generator.rb