pitcgi 0.0.3 → 0.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8cba141a31259b063bb9fed2dcf9d0238fd03b80
4
- data.tar.gz: 8cdd6b826ce45ee0d54f649df472d7777f7660e5
3
+ metadata.gz: d7b37c7cc8dd2c2bfd1a7d5e470e230be23bc659
4
+ data.tar.gz: fb7287af965c1230632784218d4a8b60cdbc8bc3
5
5
  SHA512:
6
- metadata.gz: 4fd62cf6fcc9e15ff7c0677220b9d6ce177b7214bc7d8b2b399e42a18c1b6b5fc32d16a26ba781e7c9a63eeedceabacffaff361c0511d8ccf02c1ad3a56d2a7c
7
- data.tar.gz: f69f1834ca502bfa9ab2e474394c5cdfbc85e3aeb40de2501fb4d838b51e322b0a6337c69af6ccaadccf10a9314d784f580ebce0510e594fa0b5d5b8a356fe00
6
+ metadata.gz: 616943693dca028505dc31b9b8caff623921cdc80b55539d24b830ade8ea2a75dd022fed38f856963ea9f60e43d2bc8a80a5e6b8e0ceedfab25021542309af03
7
+ data.tar.gz: 5429aedb0c2fe688f8549121546f2f31ee369a9bd1cea79f159b2646bd7f6cd5a14a3ba835457ab8ac1c702076bf16eeff6d62f067b4e753bafa52f929b2e5c8
data/.gitignore CHANGED
@@ -15,3 +15,6 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .swp
19
+ .ruby-version
20
+
@@ -0,0 +1,21 @@
1
+ ### 0.1.0 / 2015-02-23 sanadan <jecy00@gmail.com>
2
+
3
+ * Enhance error messages
4
+ * Add scramble and descramble commands
5
+
6
+
7
+ ### 0.0.3 / 2015-01-28 sanadan <jecy00@gmail.com>
8
+
9
+ * Add init command
10
+
11
+
12
+ ### 0.0.2 / 2015-01-13 sanadan <jecy00@gmail.com>
13
+
14
+ * Fixed error using value "false"
15
+
16
+
17
+ ### 0.0.1 / 2014-12-18 sanadan <jecy00@gmail.com>
18
+
19
+ * Change pit 0.0.7 for cgi only.
20
+ * Rename to pitcgi.
21
+
data/Gemfile CHANGED
@@ -3,6 +3,3 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in text_bracket_expander.gemspec
4
4
  gemspec
5
5
 
6
- gem 'rake'
7
- gem 'test-unit'
8
-
data/README.md CHANGED
@@ -48,14 +48,14 @@ ruby lib.
48
48
  require "pitcgi"
49
49
 
50
50
  config = Pitcgi.get("twitter.com", :require => {
51
- "username" => "default value",
52
- "password" => "default value"
51
+ "username" => "Number, mail address or username",
52
+ "password" => "Password"
53
53
  })
54
54
 
55
55
  Pitcgi.get("vox.com", :require => {
56
- "username" => "default value",
57
- "password" => "default value"
58
- "nickname" => "default value"
56
+ "username" => "Username",
57
+ "password" => "Password"
58
+ "nickname" => "Nickname"
59
59
  })
60
60
  ```
61
61
  Pitcgi.get open $EDITOR with `require` hash if the setting does not have
@@ -65,11 +65,15 @@ required keys.
65
65
  ## Copyright
66
66
 
67
67
  Author:
68
+
68
69
  * sanadan <jecy00@gmail.com>
69
70
 
70
71
  Copyright:
72
+
71
73
  * Copyright (c) 2008 cho45
72
- * Copyright (c) 2014 sanadan
74
+ * Copyright (c) 2014-2015 sanadan
73
75
 
74
76
  License:
77
+
75
78
  * Ruby's
79
+
data/Rakefile CHANGED
@@ -7,3 +7,6 @@ Rake::TestTask.new do |t|
7
7
  t.libs << "test"
8
8
  t.test_files = FileList['test/*_test.rb']
9
9
  end
10
+
11
+ task :default => [ :install, :test ]
12
+
data/bin/pitcgi CHANGED
@@ -57,6 +57,22 @@ class PitcgiCommand
57
57
  Initialize #{NAME} environment.
58
58
  EOB
59
59
  },
60
+
61
+ "scramble" => OptionParser.new { |opts|
62
+ opts.banner = <<-EOB.gsub(/^\t+/, "")
63
+ Usage: #{NAME} scramble
64
+
65
+ Enable scramble mode.
66
+ EOB
67
+ },
68
+
69
+ "descramble" => OptionParser.new { |opts|
70
+ opts.banner = <<-EOB.gsub(/^\t+/, "")
71
+ Usage: #{NAME} descramble
72
+
73
+ Disable scramble mode.
74
+ EOB
75
+ },
60
76
  }
61
77
 
62
78
  @parser = OptionParser.new do |parser|
@@ -92,7 +108,11 @@ class PitcgiCommand
92
108
  method_name = "cmd_#{@subcommand}"
93
109
  if self.respond_to?(method_name)
94
110
  @subparsers[@subcommand].parse!(@argv)
95
- self.send(method_name)
111
+ begin
112
+ self.send(method_name)
113
+ rescue Errno::EACCES
114
+ warn( $! )
115
+ end
96
116
  else
97
117
  puts "Not implemented subcommand: `#{@subcommand}'."
98
118
  puts
@@ -103,9 +123,12 @@ class PitcgiCommand
103
123
 
104
124
  def cmd_get
105
125
  name, = @argv
106
- exit if name.nil?
126
+ if name.nil?
127
+ warn( '<name> is not specified.' )
128
+ exit
129
+ end
107
130
  if $stdout.tty?
108
- warn "do not output to tty."
131
+ warn "Do not output to tty."
109
132
  else
110
133
  puts Pitcgi.get(name).to_yaml
111
134
  end
@@ -113,16 +136,24 @@ class PitcgiCommand
113
136
 
114
137
  def cmd_set
115
138
  name, = @argv
116
- exit if name.nil?
117
- Pitcgi.set(name)
139
+ if name.nil?
140
+ warn( '<name> is not specified.' )
141
+ exit
142
+ end
143
+ Pitcgi.set(name)
118
144
  end
119
145
 
120
146
  def cmd_switch
121
147
  profile, = @argv
122
148
  profile = "default" if profile.nil?
123
149
  profile.gsub(/[^a-z0-9.-]/i, "")
124
- Pitcgi.switch(profile)
125
- warn "Switch profile to #{profile}"
150
+ begin
151
+ Pitcgi.switch( profile )
152
+ rescue
153
+ warn( $! )
154
+ exit
155
+ end
156
+ warn( "Switch profile to #{profile}." )
126
157
  end
127
158
 
128
159
  def cmd_help
@@ -131,7 +162,7 @@ class PitcgiCommand
131
162
  if @subparsers.key? subcommand
132
163
  puts @subparsers[subcommand].help
133
164
  else
134
- puts "No such subcommand `#{subcommand}'"
165
+ puts "No such subcommand `#{subcommand}'."
135
166
  puts @parser.help
136
167
  end
137
168
  else
@@ -140,14 +171,36 @@ class PitcgiCommand
140
171
  end
141
172
 
142
173
  def cmd_init
143
- puts( 'Initialize environment.' )
144
- system( "sudo mkdir #{Pitcgi::Directory}" )
145
- system( "sudo chmod 770 #{Pitcgi::Directory}" )
146
- system( "sudo chgrp www-data #{Pitcgi::Directory}" )
147
- system( "sudo adduser $USER www-data" )
174
+ warn( 'Initialize environment.' )
175
+ exit unless system( "sudo -v" )
176
+ ws( "sudo mkdir #{Pitcgi::Directory}" )
177
+ ws( "sudo chmod 770 #{Pitcgi::Directory}" )
178
+ ws( "sudo chgrp www-data #{Pitcgi::Directory}" )
179
+ ws( "sudo adduser #{ENV[ 'USER' ]} www-data" )
180
+ end
181
+
182
+ def cmd_scramble
183
+ begin
184
+ Pitcgi.scramble
185
+ rescue
186
+ warn( $! )
187
+ end
188
+ end
189
+
190
+ def cmd_descramble
191
+ begin
192
+ Pitcgi.descramble
193
+ rescue
194
+ warn( $! )
195
+ end
196
+ end
197
+
198
+ protected
199
+ def ws( command )
200
+ warn( command )
201
+ system( command )
148
202
  end
149
203
  end
150
204
 
151
205
  PitcgiCommand.run(ARGV)
152
206
 
153
-
@@ -2,18 +2,22 @@ require 'pitcgi/version'
2
2
  require "yaml"
3
3
  require "pathname"
4
4
  require "tempfile"
5
+ require 'scrambled_eggs'
5
6
 
6
7
  module Pitcgi
7
- NAME = 'pitcgi'
8
- Directory = Pathname.new("/etc/pitcgi").expand_path
9
- @@config = Directory + "pitcgi.yaml"
10
- @@profile = Directory + "default.yaml"
8
+ NOT_TO_BE_INITIALIZED = "It is likely not to be initialized. Use '#{NAME} init'."
9
+ ALREADY_SCRAMBLED = 'Already scrambled.'
10
+ NOT_SCRAMBLED = 'Not scrambled.'
11
+ CAN_NOT_USE_PROFILE_NAME = 'Can not use it for profile name.'
12
+ Directory = Pathname.new("/etc/pitcgi").expand_path
13
+ @@config_path = Directory + "pitcgi.yaml"
14
+ @@profile_path = Directory + "default.yaml"
11
15
 
12
16
  # Set _name_ setting to current profile.
13
17
  # If not _opts_ specified, this opens $EDITOR with current profile setting.
14
18
  # If `data` specified, this just sets it to current profile.
15
- # If `config` specified, this opens $EDITOR with merged hash with specified hash and
16
- # current profile.
19
+ # If `config` specified, this opens $EDITOR with merged hash with specified
20
+ # hash and current profile.
17
21
  def self.set(name, opts={})
18
22
  profile = self.load
19
23
  if opts.key?(:data)
@@ -36,11 +40,11 @@ module Pitcgi
36
40
  result = YAML.load(result)
37
41
  end
38
42
  profile[name] = result
39
- @@profile.open("w") {|f| YAML.dump(profile, f) }
40
- result
43
+ self.save( profile )
44
+ result
41
45
  end
42
46
 
43
- # Get _name_ setting from current profile.
47
+ # Get _name_ setting from current profile.
44
48
  # If not _opts_ specified, this just returns setting from current profile.
45
49
  # If _require_ specified, check keys on setting and open $EDITOR.
46
50
  def self.get(name, opts={})
@@ -57,13 +61,53 @@ module Pitcgi
57
61
  # Switch to current profile to _name_.
58
62
  # Profile is set of settings. You can switch some settings using profile.
59
63
  def self.switch(name, opts={})
60
- @@profile = Directory + "#{name}.yaml"
61
- config = self.config
62
- ret = config["profile"]
64
+ @@profile_path = Directory + "#{name}.yaml"
65
+ if @@profile_path == @@config_path
66
+ raise( CAN_NOT_USE_PROFILE_NAME )
67
+ end
68
+ begin
69
+ config = self.load_config
70
+ ret = config["profile"]
71
+ rescue Errno::ENOENT
72
+ config = {}
73
+ ret = ""
74
+ end
63
75
  config["profile"] = name
64
- @@config.open("w") {|f| f << config.to_yaml }
65
- ret
76
+ begin
77
+ self.save_config( config )
78
+ rescue Errno::ENOENT => e
79
+ raise e, NOT_TO_BE_INITIALIZED
80
+ end
81
+ ret
66
82
  end
83
+
84
+ # Scramble profile.
85
+ def self.scramble
86
+ config = self.load_config
87
+ config_scrambled = self.get_profile_config( config )
88
+ if config_scrambled[ 'scrambled' ]
89
+ raise( ALREADY_SCRAMBLED )
90
+ end
91
+ ScrambledEggs.new.scramble_file( @@profile_path )
92
+ config_scrambled[ 'scrambled' ] = true
93
+ config[ get_profile_config_name( config ) ] = config_scrambled
94
+ self.save_config( config )
95
+ return
96
+ end
97
+
98
+ # Descramble profile.
99
+ def self.descramble
100
+ config = self.load_config
101
+ config_scrambled = self.get_profile_config( config )
102
+ if !config_scrambled[ 'scrambled' ]
103
+ raise( NOT_SCRAMBLED )
104
+ end
105
+ ScrambledEggs.new.descramble_file( @@profile_path )
106
+ config_scrambled[ 'scrambled' ] = false
107
+ config[ get_profile_config_name( config ) ] = config_scrambled
108
+ self.save_config( config )
109
+ return
110
+ end
67
111
 
68
112
  protected
69
113
  def self.load
@@ -73,34 +117,57 @@ module Pitcgi
73
117
  Directory.chmod 0770
74
118
  Directory.chown(nil, 33) # www-data
75
119
  rescue Errno::EACCES => e
76
- raise e, "May not be initialized. Use '#{NAME} init'."
120
+ raise e, NOT_TO_BE_INITIALIZED
77
121
  end
78
122
  end
79
- unless @@config.exist?
80
- @@config.open("w") {|f| f << {"profile"=>"default"}.to_yaml }
81
- @@config.chmod(0660)
82
- @@config.chown(nil, 33) # www-data
83
- end
84
- self.switch(self.config["profile"])
85
- unless @@profile.exist?
86
- @@profile.open("w") {|f| f << {}.to_yaml }
87
- @@profile.chmod(0660)
88
- @@profile.chown(nil, 33) # www-data
123
+ unless @@config_path.exist?
124
+ @@config_path.open("w") {|f| f << {"profile"=>"default"}.to_yaml }
125
+ @@config_path.chmod(0660)
126
+ @@config_path.chown(nil, 33) # www-data
127
+ end
128
+ config = self.load_config
129
+ self.switch( config[ 'profile' ] )
130
+ unless @@profile_path.exist?
131
+ @@profile_path.open("w") {|f| f << {}.to_yaml }
132
+ @@profile_path.chmod(0660)
133
+ @@profile_path.chown(nil, 33) # www-data
89
134
  end
90
- YAML.load(@@profile.read) || {}
135
+ data = @@profile_path.binread
136
+ if self.get_profile_config( config )[ 'scrambled' ]
137
+ data = ScrambledEggs.new.descramble( data )
138
+ end
139
+ YAML.load( data ) || {}
91
140
  end
92
141
 
93
- def self.config
94
- YAML.load(@@config.read)
95
- end
96
- end
142
+ def self.save( profile )
143
+ data = profile.to_yaml
144
+ config = self.load_config
145
+ self.switch( config[ 'profile' ] )
146
+ if self.get_profile_config( config )[ 'scrambled' ]
147
+ data = ScrambledEggs.new.scramble( data )
148
+ end
149
+ # Not exist Pathname#write on Ruby 2.0.0.
150
+ #@@profile.binwrite( data )
151
+ IO.binwrite( @@profile_path, data )
152
+ end
97
153
 
154
+ def self.load_config
155
+ YAML.load( @@config_path.read )
156
+ end
98
157
 
99
- __END__
100
- p Pitcgi.set("test")
101
- p Pitcgi.get("test")
158
+ def self.save_config( config )
159
+ # Not exist Pathname#write on Ruby 2.0.0.
160
+ #@@config.write( config.to_yaml )
161
+ IO.write( @@config_path, config.to_yaml )
162
+ end
102
163
 
103
- config = Pitcgi.get("twitter")
104
- p config["password"]
105
- p config["username"]
164
+ def self.get_profile_config( config )
165
+ name = get_profile_config_name( config )
166
+ return config[ name ] ? config[ name ] : {}
167
+ end
168
+
169
+ def self.get_profile_config_name( config )
170
+ return config[ 'profile' ] + '_config'
171
+ end
172
+ end
106
173
 
@@ -1,4 +1,5 @@
1
1
 
2
2
  module Pitcgi
3
- VERSION = '0.0.3'
3
+ NAME = 'pitcgi'
4
+ VERSION = '0.1.0'
4
5
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'pitcgi/version'
5
5
 
6
6
  Gem::Specification.new do |gem|
7
- gem.name = "pitcgi"
7
+ gem.name = Pitcgi::NAME
8
8
  gem.version = Pitcgi::VERSION
9
9
  gem.authors = ["sanadan"]
10
10
  gem.licenses = ['Ruby']
@@ -17,4 +17,10 @@ Gem::Specification.new do |gem|
17
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
+
21
+ gem.required_ruby_version = '>= 2.0.0'
22
+ gem.add_development_dependency( 'rake' )
23
+ gem.add_development_dependency( 'test-unit' )
24
+ gem.add_dependency( 'scrambled_eggs' )
20
25
  end
26
+
@@ -17,22 +17,23 @@ require File.dirname(__FILE__) + '/test_helper.rb'
17
17
  require "test/unit"
18
18
  ORG_DIR = Pitcgi::Directory.to_s.sub( /\/$/, '' ) + '.org'
19
19
 
20
+ def ps( command = nil )
21
+ puts( command )
22
+ system( command ) if command
23
+ end
24
+
20
25
  class PitcgiTest < Test::Unit::TestCase
21
- class << self
22
- def ps( command )
23
- puts( command )
24
- system( command )
25
- end
26
+ self.test_order = :defined
26
27
 
28
+ class << self
27
29
  def startup
28
30
  # Rename /etc/pitcgi if exist
29
31
  ps( "sudo mv #{Pitcgi::Directory} #{ORG_DIR}" )
30
- ps( "pitcgi init" )
31
32
  end
32
33
 
33
34
  def shutdown
34
35
  # Rename /etc/pitcgi.org if exist
35
- puts
36
+ ps()
36
37
  ps( "sudo rm -rf #{Pitcgi::Directory}" )
37
38
  ps( "sudo mv #{ORG_DIR} #{Pitcgi::Directory}" )
38
39
  end
@@ -43,6 +44,8 @@ class PitcgiTest < Test::Unit::TestCase
43
44
  end
44
45
 
45
46
  def test_set_get
47
+ ps( "pitcgi init" )
48
+
46
49
  Pitcgi.set("test", :data => {"username"=>"foo","password"=>"bar"})
47
50
  assert_equal "foo", Pitcgi.get("test")["username"]
48
51
  assert_equal "bar", Pitcgi.get("test")["password"]
@@ -75,7 +78,7 @@ class PitcgiTest < Test::Unit::TestCase
75
78
  tst = Pathname.tempname
76
79
  exe = Pathname.tempname
77
80
  exe.open("w") do |f|
78
- f.puts <<-EOF.gsub(/^\t+/, "")
81
+ f.puts <<-EOF.gsub(/^[\t ]+/, "")
79
82
  #!/usr/bin/env ruby
80
83
 
81
84
  File.open(ENV["TEST_FILE"], "w") do |f|
@@ -124,14 +127,16 @@ class PitcgiTest < Test::Unit::TestCase
124
127
 
125
128
  r = Pitcgi.switch("profile2")
126
129
  assert_equal "default", r
127
- assert_equal "profile2", Pitcgi.config["profile"]
130
+ assert_equal( "profile2", Pitcgi.load_config[ "profile" ] )
128
131
  Pitcgi.set("test", :data => {"username"=>"foo2","password"=>"bar2"})
129
132
  assert_equal "foo2", Pitcgi.get("test")["username"]
130
133
  assert_equal "bar2", Pitcgi.get("test")["password"]
131
134
 
132
- # Clear
133
- Pitcgi.set("test", :data => {})
134
-
135
+ assert_raise do
136
+ Pitcgi.switch( 'pitcgi' )
137
+ end
138
+ assert_equal( 'foo2', Pitcgi.get( 'test' )[ 'username' ] )
139
+
135
140
  Pitcgi.switch("default")
136
141
  Pitcgi.set("test", :data => {"username"=>"foo6","password"=>"bar6"})
137
142
  assert_equal "foo6", Pitcgi.get("test")["username"]
@@ -140,4 +145,60 @@ class PitcgiTest < Test::Unit::TestCase
140
145
  # Clear
141
146
  Pitcgi.set("test", :data => {})
142
147
  end
148
+
149
+ def test_scramble
150
+ Pitcgi.set( 'test', :data => { 'username' => 'foo7', 'password' => 'bar7' } )
151
+ path = Pathname( '/etc/pitcgi/default.yaml' )
152
+ src = path.binread
153
+ Pitcgi.scramble
154
+ scrambled = path.binread
155
+ assert_not_equal( src, scrambled )
156
+ assert_raise do
157
+ Pitcgi.scramble
158
+ end
159
+ Pitcgi.descramble
160
+ descrambled = path.binread
161
+ assert_equal( src, descrambled )
162
+ assert_raise do
163
+ Pitcgi.descramble
164
+ end
165
+ end
166
+
167
+ def test_access_scrambled
168
+ username = 'foo8'
169
+ password = 'bar8'
170
+ Pitcgi.set( 'test', :data => { 'username' => username, 'password' => password } )
171
+ Pitcgi.scramble
172
+ assert_equal( Pitcgi.get( 'test' )[ 'username' ], username )
173
+ assert_equal( Pitcgi.get( 'test' )[ 'password' ], password )
174
+ Pitcgi.descramble
175
+ end
176
+
177
+ def test_access_mix_scrambled
178
+ username = 'foo9'
179
+ password = 'bar9'
180
+ Pitcgi.set( 'test', :data => { 'username' => username, 'password' => password } )
181
+ Pitcgi.scramble
182
+ Pitcgi.switch( 'profile2' )
183
+ username2 = 'foo10'
184
+ password2 = 'bar10'
185
+ Pitcgi.set( 'test2', :data => { 'username2' => username2, 'password2' => password2 } )
186
+
187
+ Pitcgi.switch( 'default' )
188
+ assert_equal( Pitcgi.get( 'test' )[ 'username' ], username )
189
+ assert_equal( Pitcgi.get( 'test' )[ 'password' ], password )
190
+
191
+ Pitcgi.switch( 'profile2' )
192
+ assert_equal( Pitcgi.get( 'test2' )[ 'username2' ], username2 )
193
+ assert_equal( Pitcgi.get( 'test2' )[ 'password2' ], password2 )
194
+ Pitcgi.scramble
195
+ assert_equal( Pitcgi.get( 'test2' )[ 'username2' ], username2 )
196
+ assert_equal( Pitcgi.get( 'test2' )[ 'password2' ], password2 )
197
+
198
+ Pitcgi.switch( 'default' )
199
+ Pitcgi.descramble
200
+ assert_equal( Pitcgi.get( 'test' )[ 'username' ], username )
201
+ assert_equal( Pitcgi.get( 'test' )[ 'password' ], password )
202
+ end
143
203
  end
204
+
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pitcgi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sanadan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-28 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2015-02-24 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'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: test-unit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
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: scrambled_eggs
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'
13
55
  description: 'pitcgi: account management tool for cgi'
14
56
  email:
15
57
  - jecy00@gmail.com
@@ -18,8 +60,8 @@ executables:
18
60
  extensions: []
19
61
  extra_rdoc_files: []
20
62
  files:
21
- - ".gitignore"
22
- - ChangeLog
63
+ - .gitignore
64
+ - CHANGELOG.md
23
65
  - Gemfile
24
66
  - README.md
25
67
  - Rakefile
@@ -39,17 +81,17 @@ require_paths:
39
81
  - lib
40
82
  required_ruby_version: !ruby/object:Gem::Requirement
41
83
  requirements:
42
- - - ">="
84
+ - - '>='
43
85
  - !ruby/object:Gem::Version
44
- version: '0'
86
+ version: 2.0.0
45
87
  required_rubygems_version: !ruby/object:Gem::Requirement
46
88
  requirements:
47
- - - ">="
89
+ - - '>='
48
90
  - !ruby/object:Gem::Version
49
91
  version: '0'
50
92
  requirements: []
51
93
  rubyforge_project:
52
- rubygems_version: 2.4.5
94
+ rubygems_version: 2.0.14
53
95
  signing_key:
54
96
  specification_version: 4
55
97
  summary: 'pitcgi: account management tool for cgi'
data/ChangeLog DELETED
@@ -1,15 +0,0 @@
1
- 2015-01-28 sanadan <jecy00@gmail.com>
2
-
3
- * Add init command
4
-
5
-
6
- 2015-01-13 sanadan <jecy00@gmail.com>
7
-
8
- * Fixed error using value "false"
9
-
10
-
11
- 2014-12-18 sanadan <jecy00@gmail.com>
12
-
13
- * Change pit 0.0.7 for cgi only.
14
- * Rename to pitcgi.
15
-