lesspainful 0.0.2 → 0.0.3

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.
data/Gemfile.lock ADDED
@@ -0,0 +1,21 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ lesspainful (0.0.2)
5
+ bundler (~> 1.2)
6
+ json
7
+ rest-client
8
+
9
+ GEM
10
+ remote: http://rubygems.org/
11
+ specs:
12
+ json (1.7.5)
13
+ mime-types (1.19)
14
+ rest-client (1.6.7)
15
+ mime-types (>= 1.16)
16
+
17
+ PLATFORMS
18
+ ruby
19
+
20
+ DEPENDENCIES
21
+ lesspainful!
data/bin/lesspainful CHANGED
@@ -2,9 +2,10 @@
2
2
  require 'digest'
3
3
  require 'rest_client'
4
4
  require 'json'
5
+ require 'rbconfig'
5
6
 
6
7
  def host
7
- ENV["lp_host"] || "https://www.lesspainful.com"
8
+ ENV["LP_HOST"] || "https://www.lesspainful.com"
8
9
  end
9
10
 
10
11
  def digest(file)
@@ -41,10 +42,10 @@ end
41
42
  def all_files
42
43
  files = Dir.glob("#{workspace}features/**/*")
43
44
  files += Dir.glob("#{workspace}vendor/**/*")
44
- files << "Gemfile"
45
45
  if is_android?
46
46
  files << test_server_path
47
47
  end
48
+ files << "Gemfile"
48
49
  files.find_all { |file_or_dir| File.file? file_or_dir }
49
50
  end
50
51
 
@@ -53,10 +54,47 @@ def http_post(address, args)
53
54
  response.body
54
55
  end
55
56
 
57
+ def is_windows?
58
+ (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
59
+ end
60
+
61
+ def self.log(message)
62
+ puts "#{Time.now } #{message}"
63
+ $stdout.flush
64
+ end
65
+
66
+ def self.log_header(message)
67
+ if is_windows?
68
+ puts "\n### #{message} ###"
69
+ else
70
+ puts "\n\e[#{35}m### #{message} ###\e[0m"
71
+ end
72
+ end
73
+
74
+ start_at = Time.now
75
+
76
+ log_header("Checking for Gemfile")
77
+ unless File.exist?("Gemfile")
78
+ log("Gemfile missing.")
79
+ if is_android?
80
+ log("Creating Gemfile for Android")
81
+ tgt = File.join(File.dirname(__FILE__),"..","lib","GemfileAndroid")
82
+ else
83
+ log("Creating Gemfile for iOS")
84
+ tgt = File.join(File.dirname(__FILE__),"..","lib","GemfileIOS")
85
+ end
86
+ FileUtils.cp(File.expand_path(tgt), "Gemfile")
87
+ end
88
+
89
+ log_header("Packaging")
90
+ raise "Bundler failed. Please check command: bundle package" unless system("bundle package")
91
+
92
+ log_header("Collecting files")
56
93
  hashes = all_files.collect { |f| digest(f) }
57
94
  hashes << digest(app)
58
95
 
59
- puts "Checking files"
96
+
97
+ log_header("Negotiating upload")
60
98
  response = http_post("check_hash", {"hashes" => hashes})
61
99
 
62
100
  cache_status = JSON.parse(response)
@@ -77,6 +115,11 @@ end
77
115
 
78
116
  app_file = cache_status[digest(app)] ? digest(app) : File.new(app)
79
117
 
80
- puts "Uploading files"
118
+ log_header("Uploading negotiated files")
81
119
  response = http_post("upload", {"files" => files, "paths" => paths, "app" => app_file, "api_key" => api_key, "app_filename" => File.basename(app)})
82
- puts response
120
+
121
+ end_at = Time.now
122
+
123
+ log_header("Done (took #{(end_at - start_at).round(1)}s)")
124
+ log response
125
+
data/lesspainful.gemspec CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.executables = "lesspainful"
16
16
  s.require_paths = ["lib"]
17
17
 
18
+ s.add_dependency( "bundler","~> 1.2")
18
19
  s.add_dependency( "json")
19
20
  s.add_dependency( "rest-client")
20
21
  end
File without changes
data/lib/GemfileIOS ADDED
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+ gem 'calabash-cucumber'
3
+
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module LessPainful
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lesspainful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-03 00:00:00.000000000 Z
12
+ date: 2012-09-12 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.2'
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: json
16
32
  requirement: !ruby/object:Gem::Requirement
@@ -53,10 +69,12 @@ extensions: []
53
69
  extra_rdoc_files: []
54
70
  files:
55
71
  - Gemfile
72
+ - Gemfile.lock
56
73
  - Rakefile
57
74
  - bin/lesspainful
58
75
  - lesspainful.gemspec
59
- - lib/GemfileTemplate
76
+ - lib/GemfileAndroid
77
+ - lib/GemfileIOS
60
78
  - lib/version.rb
61
79
  homepage: http://www.lesspainful.com
62
80
  licenses: []
@@ -78,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
96
  version: '0'
79
97
  requirements: []
80
98
  rubyforge_project:
81
- rubygems_version: 1.8.24
99
+ rubygems_version: 1.8.23
82
100
  signing_key:
83
101
  specification_version: 3
84
102
  summary: Client for uploading calabash test to www.lesspainful.com