Skip to content

Instantly share code, notes, and snippets.

@asterite
Created January 17, 2016 13:12
Show Gist options
  • Save asterite/278710e69d25068bf005 to your computer and use it in GitHub Desktop.
Save asterite/278710e69d25068bf005 to your computer and use it in GitHub Desktop.
diff --git a/src/commands/command.cr b/src/commands/command.cr
index ebda4f1..70f5360 100644
--- a/src/commands/command.cr
+++ b/src/commands/command.cr
@@ -4,9 +4,12 @@ require "../spec"
module Shards
abstract class Command
- getter :path
- getter :spec_path
- getter :lockfile_path
+ getter :path : String
+ getter :spec_path : String
+ getter :lockfile_path : String
+ @spec : Spec?
+ @manager : Manager?
+ @locks : Lock?
def initialize(path)
if File.directory?(path)
diff --git a/src/dependency.cr b/src/dependency.cr
index 055f07b..3c89935 100644
--- a/src/dependency.cr
+++ b/src/dependency.cr
@@ -2,7 +2,7 @@ module Shards
class Dependency < Hash(String, String)
property :name
- def initialize(@name)
+ def initialize(@name : String)
super()
end
diff --git a/src/errors.cr b/src/errors.cr
index 60cfe01..601f7f6 100644
--- a/src/errors.cr
+++ b/src/errors.cr
@@ -5,7 +5,7 @@ module Shards
class Conflict < Error
getter :package
- def initialize(@package)
+ def initialize(@package : Package)
super "Error resolving #{package.name} (#{package.requirements.join(", ")})"
end
end
@@ -25,10 +25,10 @@ module Shards
class ParseError < Error
getter :input
getter :filename
- getter :line_number
- getter :column_number
+ getter :line_number : Int32
+ getter :column_number : Int32
- def initialize(message, @input, @filename, line_number, column_number)
+ def initialize(message : String, @input : String, @filename : Int32, line_number, column_number)
@line_number = line_number.to_i
@column_number = column_number.to_i
super message
diff --git a/src/logger.cr b/src/logger.cr
index 3fecad0..b46f568 100644
--- a/src/logger.cr
+++ b/src/logger.cr
@@ -23,6 +23,10 @@ class Logger(T)
io << severity.rjust(5) << " -- " << progname << ": " << message
end
+ @level : Severity
+ @formatter : Formatter
+ @progname : String
+
def initialize(@io : T)
@level = Severity::INFO
@formatter = DEFAULT_FORMATTER
diff --git a/src/manager.cr b/src/manager.cr
index 39c8251..7559c62 100644
--- a/src/manager.cr
+++ b/src/manager.cr
@@ -4,7 +4,9 @@ module Shards
class Manager
getter :spec, :packages, :locks
- def initialize(@spec, update_cache = true)
+ @packages : Set
+
+ def initialize(@spec : Spec, update_cache = true)
@packages = Set.new(update_cache: update_cache)
end
diff --git a/src/package.cr b/src/package.cr
index 97d684f..5cd413f 100644
--- a/src/package.cr
+++ b/src/package.cr
@@ -5,9 +5,12 @@ module Shards
class Package
include Helpers::Versions
- getter :requirements
+ getter :requirements : Array(String)
- def initialize(@dependency, @update_cache = false)
+ @resolver : Resolver?
+ @available_versions : Array(String)?
+
+ def initialize(@dependency : dependency, @update_cache = false : Bool)
@requirements = [] of String
end
diff --git a/src/resolvers/git.cr b/src/resolvers/git.cr
index 558d551..538b128 100644
--- a/src/resolvers/git.cr
+++ b/src/resolvers/git.cr
@@ -14,6 +14,8 @@ module Shards
# :nodoc:
GIT_COLUMN_NEVER = Helpers::NaturalSort.sort(GIT_VERSION, "1.7.11") < 0 ? "--column=never" : ""
+ @updated_cache = false
+
def self.key
"git"
end
diff --git a/src/resolvers/resolver.cr b/src/resolvers/resolver.cr
index c28aa71..0c969a5 100644
--- a/src/resolvers/resolver.cr
+++ b/src/resolvers/resolver.cr
@@ -10,7 +10,7 @@ module Shards
getter :dependency
- def initialize(@dependency, @update_cache = true)
+ def initialize(@dependency : Dependency, @update_cache = true : Bool)
end
def spec(version = nil)
diff --git a/src/spec.cr b/src/spec.cr
index 6b05586..61b5fe1 100644
--- a/src/spec.cr
+++ b/src/spec.cr
@@ -7,8 +7,8 @@ require "./errors"
module Shards
class Spec
class Author
- property :name
- property :email
+ property :name : String
+ property :email : String
def self.new(pull : YAML::PullParser)
new(pull.read_scalar)
@@ -42,10 +42,15 @@ module Shards
parser.close if parser
end
- getter! :name
- getter! :version
- getter :description
- getter :license
+ getter! :name : String
+ getter! :version : String
+ getter :description : String
+ getter :license : String
+
+ @authors : Array(Author)?
+ @dependencies : Array(Dependency)?
+ @development_dependencies : Array(Dependency)?
+ @scripts : Hash(String, String)?
# :nodoc:
def initialize(pull : YAML::PullParser, validate = false)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment