66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/richcss/cli.rb', line 66
def install(part_name, part_version='')
installed_parts = Richcss::Part.get_or_create_partfile()
if part_version.eql?('')
RestClient.get("http://www.cssparts.com/api/part/#{part_name}") { |response, request, result, &block|
if response.code == 200
body = JSON.parse(response.to_str)
part_version = body["version"]
elsif response.code == 400
puts "Part: #{part_name} cannot be found."
return
else
puts "Error #{response.code} retrieving Part: #{part_name}"
return
end
}
else
RestClient.get("http://www.cssparts.com/api/part/#{part_name}", {:params => {'version' => part_version}}) { |response, request, result, &block|
if response.code == 400
puts "Part: #{part_name} #{part_version} does not exist."
return
elsif response.code != 200
puts "Error #{response.code} retrieving Part: #{part_name} #{part_version}"
return
end
}
end
if installed_parts.key?(part_name) and installed_parts[part_name].eql?(part_version)
puts "Part #{part_name} v#{part_version} is already installed!"
return
end
partfileList = ''
dep_list = Richcss::Part.resolve_dependencies(part_name, part_version, installed_parts)
if dep_list == nil
puts "Failed to install #{part_name} #{part_version}"
return
end
dep_list.each do |dep_name, dep_version|
Richcss::Part.fetch(dep_name, dep_version)
partfileList << dep_name << " " << dep_version.to_s << "\n"
end
File.open('parts/Partfile', 'wb') do |f|
f.write(partfileList)
end
end
|