fog-cloudatcost-0.2.3/0000755000175100017510000000000012755275761013350 5ustar srudsrudfog-cloudatcost-0.2.3/Gemfile.lock0000644000175100017510000000274612755275761015603 0ustar srudsrudPATH remote: . specs: fog-cloudatcost (0.2.3) fog-core (~> 1.41) fog-json (~> 1.0) fog-xml (~> 0.1) ipaddress (~> 0.8) GEM remote: http://rubygems.org/ specs: builder (3.2.2) codeclimate-test-reporter (0.6.0) simplecov (>= 0.7.1, < 1.0.0) diff-lcs (1.2.5) docile (1.1.5) excon (0.50.1) fog-core (1.41.0) builder excon (~> 0.49) formatador (~> 0.2) fog-json (1.0.2) fog-core (~> 1.0) multi_json (~> 1.10) fog-xml (0.1.2) fog-core nokogiri (~> 1.5, >= 1.5.11) formatador (0.2.5) ipaddress (0.8.3) json (1.8.3) mini_portile2 (2.1.0) multi_json (1.12.1) nokogiri (1.6.8) mini_portile2 (~> 2.1.0) pkg-config (~> 1.1.7) pkg-config (1.1.7) rake (11.2.2) rspec (3.4.0) rspec-core (~> 3.4.0) rspec-expectations (~> 3.4.0) rspec-mocks (~> 3.4.0) rspec-core (3.4.4) rspec-support (~> 3.4.0) rspec-expectations (3.4.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.4.0) rspec-mocks (3.4.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.4.0) rspec-support (3.4.1) rubyzip (1.1.7) simplecov (0.11.2) docile (~> 1.1.0) json (~> 1.8) simplecov-html (~> 0.10.0) simplecov-html (0.10.0) PLATFORMS ruby DEPENDENCIES bundler (~> 1.12) codeclimate-test-reporter fog-cloudatcost! rake (~> 11.2) rspec (~> 3.4.0) rubyzip (~> 1.1.0) BUNDLED WITH 1.12.4 fog-cloudatcost-0.2.3/README.md0000644000175100017510000000073512755275761014634 0ustar srudsrud[![Build Status](https://travis-ci.org/fog/fog-cloudatcost.svg?branch=master)](https://travis-ci.org/fog/fog-cloudatcost) [![Code Climate](https://codeclimate.com/github/fog/fog-cloudatcost/badges/gpa.svg)](https://codeclimate.com/github/fog/fog-cloudatcost) [![Dependency Status](https://gemnasium.com/fog/fog-cloudatcost.svg)](https://gemnasium.com/fog/fog-cloudatcost) # fog-cloudatcost Module for the 'fog' gem to support Amazon Web Services http://panel.cloudatcost.com/ fog-cloudatcost-0.2.3/gemfiles/0000755000175100017510000000000012755275761015143 5ustar srudsrudfog-cloudatcost-0.2.3/gemfiles/Gemfile-edge0000644000175100017510000000033412755275761017340 0ustar srudsrudsource 'https://rubygems.org' # Shared components gem 'fog-core', :github => 'fog/fog-core' gem 'fog-json', :github => 'fog/fog-json' gem 'codeclimate-test-reporter', group: :test, require: nil gemspec :path => '../' fog-cloudatcost-0.2.3/.rubocop.yml0000644000175100017510000011325212755275761015626 0ustar srudsrudAllCops: DisabledByDefault: true #################### Lint ################################ Lint/AmbiguousOperator: Description: >- Checks for ambiguous operators in the first argument of a method invocation without parentheses. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args' Enabled: true Lint/AmbiguousRegexpLiteral: Description: >- Checks for ambiguous regexp literals in the first argument of a method invocation without parenthesis. Enabled: true Lint/AssignmentInCondition: Description: "Don't use assignment in conditions." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition' Enabled: true Lint/BlockAlignment: Description: 'Align block ends correctly.' Enabled: true Lint/CircularArgumentReference: Description: "Don't refer to the keyword argument in the default value." Enabled: true Lint/ConditionPosition: Description: >- Checks for condition placed in a confusing position relative to the keyword. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition' Enabled: true Lint/Debugger: Description: 'Check for debugger calls.' Enabled: true Lint/DefEndAlignment: Description: 'Align ends corresponding to defs correctly.' Enabled: true Lint/DeprecatedClassMethods: Description: 'Check for deprecated class method calls.' Enabled: true Lint/DuplicateMethods: Description: 'Check for duplicate methods calls.' Enabled: true Lint/EachWithObjectArgument: Description: 'Check for immutable argument given to each_with_object.' Enabled: true Lint/ElseLayout: Description: 'Check for odd code arrangement in an else block.' Enabled: true Lint/EmptyEnsure: Description: 'Checks for empty ensure block.' Enabled: true Lint/EmptyInterpolation: Description: 'Checks for empty string interpolation.' Enabled: true Lint/EndAlignment: Description: 'Align ends correctly.' Enabled: true Lint/EndInMethod: Description: 'END blocks should not be placed inside method definitions.' Enabled: true Lint/EnsureReturn: Description: 'Do not use return in an ensure block.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure' Enabled: true Lint/Eval: Description: 'The use of eval represents a serious security risk.' Enabled: true Lint/FormatParameterMismatch: Description: 'The number of parameters to format/sprint must match the fields.' Enabled: true Lint/HandleExceptions: Description: "Don't suppress exception." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions' Enabled: true Lint/InvalidCharacterLiteral: Description: >- Checks for invalid character literals with a non-escaped whitespace character. Enabled: true Lint/LiteralInCondition: Description: 'Checks of literals used in conditions.' Enabled: true Lint/LiteralInInterpolation: Description: 'Checks for literals used in interpolation.' Enabled: true Lint/Loop: Description: >- Use Kernel#loop with break rather than begin/end/until or begin/end/while for post-loop tests. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break' Enabled: true Lint/NestedMethodDefinition: Description: 'Do not use nested method definitions.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods' Enabled: true Lint/NonLocalExitFromIterator: Description: 'Do not use return in iterator to cause non-local exit.' Enabled: true Lint/ParenthesesAsGroupedExpression: Description: >- Checks for method calls with a space before the opening parenthesis. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces' Enabled: true Lint/RequireParentheses: Description: >- Use parentheses in the method call to avoid confusion about precedence. Enabled: true Lint/RescueException: Description: 'Avoid rescuing the Exception class.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues' Enabled: true Lint/ShadowingOuterLocalVariable: Description: >- Do not use the same name as outer local variable for block arguments or block local variables. Enabled: true Lint/SpaceBeforeFirstArg: Description: >- Put a space between a method name and the first argument in a method call without parentheses. Enabled: true Lint/StringConversionInInterpolation: Description: 'Checks for Object#to_s usage in string interpolation.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s' Enabled: true Lint/UnderscorePrefixedVariableName: Description: 'Do not use prefix `_` for a variable that is used.' Enabled: true Lint/UnneededDisable: Description: >- Checks for rubocop:disable comments that can be removed. Note: this cop is not disabled when disabling all cops. It must be explicitly disabled. Enabled: true Lint/UnusedBlockArgument: Description: 'Checks for unused block arguments.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars' Enabled: true Lint/UnusedMethodArgument: Description: 'Checks for unused method arguments.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars' Enabled: true Lint/UnreachableCode: Description: 'Unreachable code.' Enabled: true Lint/UselessAccessModifier: Description: 'Checks for useless access modifiers.' Enabled: true Lint/UselessAssignment: Description: 'Checks for useless assignment to a local variable.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars' Enabled: true Lint/UselessComparison: Description: 'Checks for comparison of something with itself.' Enabled: true Lint/UselessElseWithoutRescue: Description: 'Checks for useless `else` in `begin..end` without `rescue`.' Enabled: true Lint/UselessSetterCall: Description: 'Checks for useless setter call to a local variable.' Enabled: true Lint/Void: Description: 'Possible use of operator/literal/variable in void context.' Enabled: true ###################### Metrics #################################### Metrics/AbcSize: Description: >- A calculated magnitude based on number of assignments, branches, and conditions. Reference: 'http://c2.com/cgi/wiki?AbcMetric' Enabled: false Max: 20 Metrics/BlockNesting: Description: 'Avoid excessive block nesting' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count' Enabled: true Max: 4 Metrics/ClassLength: Description: 'Avoid classes longer than 250 lines of code.' Enabled: true Max: 250 Metrics/CyclomaticComplexity: Description: >- A complexity metric that is strongly correlated to the number of test cases needed to validate a method. Enabled: true Metrics/LineLength: Description: 'Limit lines to 80 characters.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits' Enabled: false Metrics/MethodLength: Description: 'Avoid methods longer than 30 lines of code.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods' Enabled: true Max: 30 Metrics/ModuleLength: Description: 'Avoid modules longer than 250 lines of code.' Enabled: true Max: 250 Metrics/ParameterLists: Description: 'Avoid parameter lists longer than three or four parameters.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params' Enabled: true Metrics/PerceivedComplexity: Description: >- A complexity metric geared towards measuring complexity for a human reader. Enabled: false ##################### Performance ############################# Performance/Count: Description: >- Use `count` instead of `select...size`, `reject...size`, `select...count`, `reject...count`, `select...length`, and `reject...length`. Enabled: true Performance/Detect: Description: >- Use `detect` instead of `select.first`, `find_all.first`, `select.last`, and `find_all.last`. Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code' Enabled: true Performance/FlatMap: Description: >- Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)` or `Enumberable#collect..Array#flatten(1)` Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code' Enabled: true EnabledForFlattenWithoutParams: false # If enabled, this cop will warn about usages of # `flatten` being called without any parameters. # This can be dangerous since `flat_map` will only flatten 1 level, and # `flatten` without any parameters can flatten multiple levels. Performance/ReverseEach: Description: 'Use `reverse_each` instead of `reverse.each`.' Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code' Enabled: true Performance/Sample: Description: >- Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]`. Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code' Enabled: true Performance/Size: Description: >- Use `size` instead of `count` for counting the number of elements in `Array` and `Hash`. Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code' Enabled: true Performance/StringReplacement: Description: >- Use `tr` instead of `gsub` when you are replacing the same number of characters. Use `delete` instead of `gsub` when you are deleting characters. Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code' Enabled: true ##################### Rails ################################## Rails/ActionFilter: Description: 'Enforces consistent use of action filter methods.' Enabled: false Rails/Date: Description: >- Checks the correct usage of date aware methods, such as Date.today, Date.current etc. Enabled: false Rails/DefaultScope: Description: 'Checks if the argument passed to default_scope is a block.' Enabled: false Rails/Delegate: Description: 'Prefer delegate method for delegations.' Enabled: false Rails/FindBy: Description: 'Prefer find_by over where.first.' Enabled: false Rails/FindEach: Description: 'Prefer all.find_each over all.find.' Enabled: false Rails/HasAndBelongsToMany: Description: 'Prefer has_many :through to has_and_belongs_to_many.' Enabled: false Rails/Output: Description: 'Checks for calls to puts, print, etc.' Enabled: false Rails/ReadWriteAttribute: Description: >- Checks for read_attribute(:attr) and write_attribute(:attr, val). Enabled: false Rails/ScopeArgs: Description: 'Checks the arguments of ActiveRecord scopes.' Enabled: false Rails/TimeZone: Description: 'Checks the correct usage of time zone aware methods.' StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time' Reference: 'http://danilenko.org/2012/7/6/rails_timezones' Enabled: false Rails/Validation: Description: 'Use validates :attribute, hash of validations.' Enabled: false ################## Style ################################# Style/AccessModifierIndentation: Description: Check indentation of private/protected visibility modifiers. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected' Enabled: false Style/AccessorMethodName: Description: Check the naming of accessor methods for get_/set_. Enabled: false Style/Alias: Description: 'Use alias_method instead of alias.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method' Enabled: false Style/AlignArray: Description: >- Align the elements of an array literal if they span more than one line. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays' Enabled: false Style/AlignHash: Description: >- Align the elements of a hash literal if they span more than one line. Enabled: false Style/AlignParameters: Description: >- Align the parameters of a method call if they span more than one line. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent' Enabled: false Style/AndOr: Description: 'Use &&/|| instead of and/or.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or' Enabled: false Style/ArrayJoin: Description: 'Use Array#join instead of Array#*.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join' Enabled: false Style/AsciiComments: Description: 'Use only ascii symbols in comments.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments' Enabled: false Style/AsciiIdentifiers: Description: 'Use only ascii symbols in identifiers.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers' Enabled: false Style/Attr: Description: 'Checks for uses of Module#attr.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr' Enabled: false Style/BeginBlock: Description: 'Avoid the use of BEGIN blocks.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks' Enabled: false Style/BarePercentLiterals: Description: 'Checks if usage of %() or %Q() matches configuration.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand' Enabled: false Style/BlockComments: Description: 'Do not use block comments.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments' Enabled: false Style/BlockEndNewline: Description: 'Put end statement of multiline block on its own line.' Enabled: false Style/BlockDelimiters: Description: >- Avoid using {...} for multi-line blocks (multiline chaining is always ugly). Prefer {...} over do...end for single-line blocks. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks' Enabled: false Style/BracesAroundHashParameters: Description: 'Enforce braces style around hash parameters.' Enabled: false Style/CaseEquality: Description: 'Avoid explicit use of the case equality operator(===).' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality' Enabled: false Style/CaseIndentation: Description: 'Indentation of when in a case/when/[else/]end.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case' Enabled: false Style/CharacterLiteral: Description: 'Checks for uses of character literals.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals' Enabled: false Style/ClassAndModuleCamelCase: Description: 'Use CamelCase for classes and modules.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes' Enabled: false Style/ClassAndModuleChildren: Description: 'Checks style of children classes and modules.' Enabled: false Style/ClassCheck: Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.' Enabled: false Style/ClassMethods: Description: 'Use self when defining module/class methods.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods' Enabled: false Style/ClassVars: Description: 'Avoid the use of class variables.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars' Enabled: false Style/ClosingParenthesisIndentation: Description: 'Checks the indentation of hanging closing parentheses.' Enabled: false Style/ColonMethodCall: Description: 'Do not use :: for method call.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons' Enabled: false Style/CommandLiteral: Description: 'Use `` or %x around command literals.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x' Enabled: false Style/CommentAnnotation: Description: >- Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK, REVIEW). StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords' Enabled: false Style/CommentIndentation: Description: 'Indentation of comments.' Enabled: false Style/ConstantName: Description: 'Constants should use SCREAMING_SNAKE_CASE.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case' Enabled: false Style/DefWithParentheses: Description: 'Use def with parentheses when there are arguments.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens' Enabled: false Style/DeprecatedHashMethods: Description: 'Checks for use of deprecated Hash methods.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key' Enabled: false Style/Documentation: Description: 'Document classes and non-namespace modules.' Enabled: false Style/DotPosition: Description: 'Checks the position of the dot in multi-line method calls.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains' Enabled: false Style/DoubleNegation: Description: 'Checks for uses of double negation (!!).' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang' Enabled: false Style/EachWithObject: Description: 'Prefer `each_with_object` over `inject` or `reduce`.' Enabled: false Style/ElseAlignment: Description: 'Align elses and elsifs correctly.' Enabled: false Style/EmptyElse: Description: 'Avoid empty else-clauses.' Enabled: false Style/EmptyLineBetweenDefs: Description: 'Use empty lines between defs.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods' Enabled: false Style/EmptyLines: Description: "Don't use several empty lines in a row." Enabled: false Style/EmptyLinesAroundAccessModifier: Description: "Keep blank lines around access modifiers." Enabled: false Style/EmptyLinesAroundBlockBody: Description: "Keeps track of empty lines around block bodies." Enabled: false Style/EmptyLinesAroundClassBody: Description: "Keeps track of empty lines around class bodies." Enabled: false Style/EmptyLinesAroundModuleBody: Description: "Keeps track of empty lines around module bodies." Enabled: false Style/EmptyLinesAroundMethodBody: Description: "Keeps track of empty lines around method bodies." Enabled: false Style/EmptyLiteral: Description: 'Prefer literals to Array.new/Hash.new/String.new.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash' Enabled: false Style/EndBlock: Description: 'Avoid the use of END blocks.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks' Enabled: false Style/EndOfLine: Description: 'Use Unix-style line endings.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf' Enabled: false Style/EvenOdd: Description: 'Favor the use of Fixnum#even? && Fixnum#odd?' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods' Enabled: false Style/ExtraSpacing: Description: 'Do not use unnecessary spacing.' Enabled: false Style/FileName: Description: 'Use snake_case for source file names.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files' Enabled: false Style/InitialIndentation: Description: >- Checks the indentation of the first non-blank non-comment line in a file. Enabled: false Style/FirstParameterIndentation: Description: 'Checks the indentation of the first parameter in a method call.' Enabled: false Style/FlipFlop: Description: 'Checks for flip flops' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops' Enabled: false Style/For: Description: 'Checks use of for or each in multiline loops.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops' Enabled: false Style/FormatString: Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf' Enabled: false Style/GlobalVars: Description: 'Do not introduce global variables.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars' Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html' Enabled: false Style/GuardClause: Description: 'Check for conditionals that can be replaced with guard clauses' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals' Enabled: false Style/HashSyntax: Description: >- Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a => 1, :b => 2 }. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals' Enabled: false Style/IfUnlessModifier: Description: >- Favor modifier if/unless usage when you have a single-line body. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier' Enabled: false Style/IfWithSemicolon: Description: 'Do not use if x; .... Use the ternary operator instead.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs' Enabled: false Style/IndentationConsistency: Description: 'Keep indentation straight.' Enabled: false Style/IndentationWidth: Description: 'Use 2 spaces for indentation.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation' Enabled: false Style/IndentArray: Description: >- Checks the indentation of the first element in an array literal. Enabled: false Style/IndentHash: Description: 'Checks the indentation of the first key in a hash literal.' Enabled: false Style/InfiniteLoop: Description: 'Use Kernel#loop for infinite loops.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop' Enabled: false Style/Lambda: Description: 'Use the new lambda literal syntax for single-line blocks.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line' Enabled: false Style/LambdaCall: Description: 'Use lambda.call(...) instead of lambda.(...).' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call' Enabled: false Style/LeadingCommentSpace: Description: 'Comments should start with a space.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space' Enabled: false Style/LineEndConcatenation: Description: >- Use \ instead of + or << to concatenate two string literals at line end. Enabled: false Style/MethodCallParentheses: Description: 'Do not use parentheses for method calls with no arguments.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens' Enabled: false Style/MethodDefParentheses: Description: >- Checks if the method definitions have or don't have parentheses. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens' Enabled: false Style/MethodName: Description: 'Use the configured style when naming methods.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars' Enabled: false Style/ModuleFunction: Description: 'Checks for usage of `extend self` in modules.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function' Enabled: false Style/MultilineBlockChain: Description: 'Avoid multi-line chains of blocks.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks' Enabled: false Style/MultilineBlockLayout: Description: 'Ensures newlines after multiline block do statements.' Enabled: false Style/MultilineIfThen: Description: 'Do not use then for multi-line if/unless.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then' Enabled: false Style/MultilineOperationIndentation: Description: >- Checks indentation of binary operations that span more than one line. Enabled: false Style/MultilineTernaryOperator: Description: >- Avoid multi-line ?: (the ternary operator); use if/unless instead. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary' Enabled: false Style/NegatedIf: Description: >- Favor unless over if for negative conditions (or control flow or). StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives' Enabled: false Style/NegatedWhile: Description: 'Favor until over while for negative conditions.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives' Enabled: false Style/NestedTernaryOperator: Description: 'Use one expression per branch in a ternary operator.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary' Enabled: false Style/Next: Description: 'Use `next` to skip iteration instead of a condition at the end.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals' Enabled: false Style/NilComparison: Description: 'Prefer x.nil? to x == nil.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods' Enabled: false Style/NonNilCheck: Description: 'Checks for redundant nil checks.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks' Enabled: false Style/Not: Description: 'Use ! instead of not.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not' Enabled: false Style/NumericLiterals: Description: >- Add underscores to large numeric literals to improve their readability. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics' Enabled: false Style/OneLineConditional: Description: >- Favor the ternary operator(?:) over if/then/else/end constructs. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator' Enabled: false Style/OpMethod: Description: 'When defining binary operators, name the argument other.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg' Enabled: false Style/OptionalArguments: Description: >- Checks for optional arguments that do not appear at the end of the argument list StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments' Enabled: false Style/ParallelAssignment: Description: >- Check for simple usages of parallel assignment. It will only warn when the number of variables matches on both sides of the assignment. This also provides performance benefits StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment' Reference: 'https://github.com/JuanitoFatas/fast-ruby#parallel-assignment-vs-sequential-assignment-code' Enabled: false Style/ParenthesesAroundCondition: Description: >- Don't use parentheses around the condition of an if/unless/while. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if' Enabled: false Style/PercentLiteralDelimiters: Description: 'Use `%`-literal delimiters consistently' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces' Enabled: false Style/PercentQLiterals: Description: 'Checks if uses of %Q/%q match the configured preference.' Enabled: false Style/PerlBackrefs: Description: 'Avoid Perl-style regex back references.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers' Enabled: false Style/PredicateName: Description: 'Check the names of predicate methods.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark' Enabled: false Style/Proc: Description: 'Use proc instead of Proc.new.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc' Enabled: false Style/RaiseArgs: Description: 'Checks the arguments passed to raise/fail.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages' Enabled: false Style/RedundantBegin: Description: "Don't use begin blocks when they are not needed." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit' Enabled: false Style/RedundantException: Description: "Checks for an obsolete RuntimeException argument in raise/fail." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror' Enabled: false Style/RedundantReturn: Description: "Don't use return where it's not required." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return' Enabled: false Style/RedundantSelf: Description: "Don't use self where it's not needed." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required' Enabled: false Style/RegexpLiteral: Description: 'Use / or %r around regular expressions.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r' Enabled: false Style/RescueEnsureAlignment: Description: 'Align rescues and ensures correctly.' Enabled: false Style/RescueModifier: Description: 'Avoid using rescue in its modifier form.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers' Enabled: false Style/SelfAssignment: Description: >- Checks for places where self-assignment shorthand should have been used. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment' Enabled: false Style/Semicolon: Description: "Don't use semicolons to terminate expressions." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon' Enabled: false Style/SignalException: Description: 'Checks for proper usage of fail and raise.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method' Enabled: false Style/SingleLineBlockParams: Description: 'Enforces the names of some block params.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks' Enabled: false Style/SingleLineMethods: Description: 'Avoid single-line methods.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods' Enabled: false Style/SingleSpaceBeforeFirstArg: Description: >- Checks that exactly one space is used between a method name and the first argument for method calls without parentheses. Enabled: false Style/SpaceAfterColon: Description: 'Use spaces after colons.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' Enabled: false Style/SpaceAfterComma: Description: 'Use spaces after commas.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' Enabled: false Style/SpaceAfterControlKeyword: Description: 'Use spaces after if/elsif/unless/while/until/case/when.' Enabled: false Style/SpaceAfterMethodName: Description: >- Do not put a space between a method name and the opening parenthesis in a method definition. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces' Enabled: false Style/SpaceAfterNot: Description: Tracks redundant space after the ! operator. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang' Enabled: false Style/SpaceAfterSemicolon: Description: 'Use spaces after semicolons.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' Enabled: false Style/SpaceBeforeBlockBraces: Description: >- Checks that the left block brace has or doesn't have space before it. Enabled: false Style/SpaceBeforeComma: Description: 'No spaces before commas.' Enabled: false Style/SpaceBeforeComment: Description: >- Checks for missing space between code and a comment on the same line. Enabled: false Style/SpaceBeforeSemicolon: Description: 'No spaces before semicolons.' Enabled: false Style/SpaceInsideBlockBraces: Description: >- Checks that block braces have or don't have surrounding space. For blocks taking parameters, checks that the left brace has or doesn't have trailing space. Enabled: false Style/SpaceAroundBlockParameters: Description: 'Checks the spacing inside and after block parameters pipes.' Enabled: false Style/SpaceAroundEqualsInParameterDefault: Description: >- Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals' Enabled: false Style/SpaceAroundOperators: Description: 'Use a single space around operators.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' Enabled: false Style/SpaceBeforeModifierKeyword: Description: 'Put a space before the modifier keyword.' Enabled: false Style/SpaceInsideBrackets: Description: 'No spaces after [ or before ].' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces' Enabled: false Style/SpaceInsideHashLiteralBraces: Description: "Use spaces inside hash literal braces - or don't." StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' Enabled: false Style/SpaceInsideParens: Description: 'No spaces after ( or before ).' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces' Enabled: false Style/SpaceInsideRangeLiteral: Description: 'No spaces inside range literals.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals' Enabled: false Style/SpaceInsideStringInterpolation: Description: 'Checks for padding/surrounding spaces inside string interpolation.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation' Enabled: false Style/SpecialGlobalVars: Description: 'Avoid Perl-style global variables.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms' Enabled: false Style/StringLiterals: Description: 'Checks if uses of quotes match the configured preference.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals' Enabled: false Style/StringLiteralsInInterpolation: Description: >- Checks if uses of quotes inside expressions in interpolated strings match the configured preference. Enabled: false Style/StructInheritance: Description: 'Checks for inheritance from Struct.new.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new' Enabled: false Style/SymbolLiteral: Description: 'Use plain symbols instead of string symbols when possible.' Enabled: false Style/SymbolProc: Description: 'Use symbols as procs instead of blocks when possible.' Enabled: false Style/Tab: Description: 'No hard tabs.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation' Enabled: false Style/TrailingBlankLines: Description: 'Checks trailing blank lines and final newline.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof' Enabled: false Style/TrailingComma: Description: 'Checks for trailing comma in parameter lists and literals.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas' Enabled: false Style/TrailingWhitespace: Description: 'Avoid trailing whitespace.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace' Enabled: false Style/TrivialAccessors: Description: 'Prefer attr_* methods to trivial readers/writers.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family' Enabled: false Style/UnlessElse: Description: >- Do not use unless with else. Rewrite these with the positive case first. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless' Enabled: false Style/UnneededCapitalW: Description: 'Checks for %W when interpolation is not needed.' Enabled: false Style/UnneededPercentQ: Description: 'Checks for %q/%Q when single quotes or double quotes would do.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q' Enabled: false Style/TrailingUnderscoreVariable: Description: >- Checks for the usage of unneeded trailing underscores at the end of parallel variable assignment. Enabled: false Style/VariableInterpolation: Description: >- Don't interpolate global, instance and class variables directly in strings. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate' Enabled: false Style/VariableName: Description: 'Use the configured style when naming variables.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars' Enabled: false Style/WhenThen: Description: 'Use when x then ... for one-line cases.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases' Enabled: false Style/WhileUntilDo: Description: 'Checks for redundant do after while or until.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do' Enabled: false Style/WhileUntilModifier: Description: >- Favor modifier while/until usage when you have a single-line body. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier' Enabled: false Style/WordArray: Description: 'Use %w or %W for arrays of words.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w' Enabled: false fog-cloudatcost-0.2.3/lib/0000755000175100017510000000000012755275761014116 5ustar srudsrudfog-cloudatcost-0.2.3/lib/fog/0000755000175100017510000000000012755275761014671 5ustar srudsrudfog-cloudatcost-0.2.3/lib/fog/cloudatcost/0000755000175100017510000000000012755275761017215 5ustar srudsrudfog-cloudatcost-0.2.3/lib/fog/cloudatcost/examples/0000755000175100017510000000000012755275761021033 5ustar srudsrudfog-cloudatcost-0.2.3/lib/fog/cloudatcost/examples/getting_started.md0000644000175100017510000000314212755275761024544 0ustar srudsrud# Getting started: the compute service The CloudAtCost UI is pretty terrible,its slow and it stops working most of the time.Moreover you cannot customize the machines.This is where the fog comes to play. To use fog You'll need a CloudAtCost account and an API token to use this provider. Get one from https://panel.cloudatcost.com. Click on the settings button in menu. Make sure you add your ip to the allowed ip field. Write down the API Token. ## Connecting, retrieving and managing server objects First, create a connection to the host: ```ruby require 'fog' cac = Fog::Compute.new({ :provider => 'CloudAtCost', :email => 'example@email.com', # Your email address :api_key => 'poiuweoruwoeiuroiwuer', # your API Token }) ``` ## Listing servers Listing servers and attributes: ```ruby cac do |server| puts server.ip puts server.servername puts server.vmname puts server.mode puts server.label end ``` ## Server creation and life-cycle management Creating a new server : ```ruby server = cac.servers.create :cpu => 'foobar', # 1, 2, 4 :ram => 1024, # multiple of 4 min 512 :storage => 10, # 10G :template_id => 75 #Template id ``` The server is automatically started after that. As you can see you need the template_id to create the server: ```ruby cac.templates.each do |image| puts image.id puts image.detail end ``` Power off a server: ```ruby server = cac.servers.first server.power_off ``` Power on a server: ```ruby server.power_on ``` Destroying the server: ```ruby server.destroy ``` fog-cloudatcost-0.2.3/lib/fog/cloudatcost/models/0000755000175100017510000000000012755275761020500 5ustar srudsrudfog-cloudatcost-0.2.3/lib/fog/cloudatcost/models/server.rb0000644000175100017510000000410012755275761022326 0ustar srudsrudrequire 'fog/compute/models/server' module Fog module Compute class CloudAtCost class Server < Fog::Compute::Server identity :sid attribute :id attribute :CustID attribute :packageid attribute :servername attribute :label attribute :vmname attribute :ip attribute :netmask attribute :gateway attribute :hostname attribute :rootpass attribute :vncport attribute :vncpass attribute :servertype attribute :template attribute :cpu attribute :cpuusage attribute :ram attribute :ramusage attribute :storage attribute :hdusage attribute :sdate attribute :status attribute :panel_note attribute :mode attribute :uid attribute :rdns attribute :rdnsdefault attribute :template_id def new_instance? not persisted? end def save raise Fog::Errors::Error.new('Re-saving an existing object may create a duplicate') if persisted? save! end def save! requires :cpu, :ram, :storage, :template_id data = service.create_server(cpu, ram, storage, template_id) end def destroy perform_action :delete_server end def power_on perform_action :power_on end def power_off perform_action :power_off end def reset perform_action :reset end def run_mode(mode) perform_action :run_mode, mode end def rename_server(name) perform_action :rename_server, name end def reverse_dns(hostname) perform_action :reverse_dns, hostname end def console perform_action :console end private def perform_action(action, *args) requires :sid response = service.send(action, sid, *args) response.body end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/models/servers.rb0000644000175100017510000000127612755275761022524 0ustar srudsrudrequire 'fog/core/collection' require 'fog/cloudatcost/models/server' module Fog module Compute class CloudAtCost class Servers < Fog::Collection model Fog::Compute::CloudAtCost::Server # Returns list of servers # @return [Fog::Compute::CloudAtCost::Servers] def all(filters = {}) data = service.list_servers.body['data'] load(data) end # Retrieves server # @param [String] id for server to be returned # @return [Fog::Compute::CloudAtCost::Server] def get(id) server = service.servers.find do |server| server.id != id end end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/models/tasks.rb0000644000175100017510000000127012755275761022152 0ustar srudsrudrequire 'fog/core/collection' require 'fog/cloudatcost/models/task' module Fog module Compute class CloudAtCost class Tasks < Fog::Collection model Fog::Compute::CloudAtCost::Task # Returns list of tasks # @return [Fog::Compute::CloudAtCost::Tasks] def all(filters = {}) data = service.list_tasks.body['data'] load(data) end # Retrieves a particular task # @param [String] id for server to be returned # @return [Fog::Compute::CloudAtCost::Task] def get(id) task = service.list_tasks.find do |task| task.id != id end end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/models/task.rb0000644000175100017510000000067612755275761022000 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Task < Fog::Model identity :id attribute :cid attribute :idf attribute :serverid attribute :action attribute :status attribute :starttime attribute :finishtime attribute :servername attribute :ip attribute :label attribute :rdns attribute :rdnsdefault end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/models/templates.rb0000644000175100017510000000132012755275761023017 0ustar srudsrudrequire 'fog/core/collection' require 'fog/cloudatcost/models/template' module Fog module Compute class CloudAtCost class Templates < Fog::Collection model Fog::Compute::CloudAtCost::Template # Returns list of servers # @return [Fog::Compute::CloudAtCost::Templates] def all(filters = {}) data = service.list_templates.body['data'] load(data) end # Retrieves server # @param [String] id for server to be returned # @return [Fog::Compute::CloudAtCost::Template] def get(id) template = service.templates.find do |template| server.id != id end end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/models/template.rb0000644000175100017510000000024012755275761022634 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Template < Fog::Model identity :ce_id attribute :name end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/compute.rb0000644000175100017510000000421412755275761021217 0ustar srudsrudrequire 'fog/cloudatcost/core' module Fog module Compute class CloudAtCost < Fog::Service requires :api_key, :email model_path 'fog/cloudatcost/models' model :server collection :servers model :task collection :tasks model :template collection :templates request_path 'fog/cloudatcost/requests' request :list_servers request :list_tasks request :console request :create_server request :list_templates request :power_off request :power_on request :rename_server request :delete_server request :reset request :reverse_dns request :run_mode class Mock def initialize(options={}) @api_key = options[:api_key] @email = options[:email] end end class Real def initialize(options={}) @api_key = options[:api_key] @email = options[:email] persistent = false @connection = Fog::Core::Connection.new 'https://panel.cloudatcost.com', persistent, options end def request(params) params[:headers] ||= { 'Content-Type' => 'application/x-www-form-urlencoded' } params[:query] ||= {} required_params = { key: "#{@api_key}", login: "#{@email}" } begin if params[:method] == 'POST' params_body = required_params.merge(params[:body]) params[:body] = params_body.reduce(""){ |acc,(x,y)| "#{acc}&#{x}=#{y}" } else params[:query] = required_params.merge(params[:query]) end response = @connection.request(params) rescue Excon::Errors::HTTPStatusError => error raise case error when Excon::Errors::NotFound Fog::Compute::Bluebox::NotFound.slurp(error) else error end end unless response.body.empty? response.body = Fog::JSON.decode(response.body) end response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/0000755000175100017510000000000012755275761021070 5ustar srudsrudfog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/list_servers.rb0000644000175100017510000000112512755275761024140 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def list_servers request( :expects => [200], :method => 'GET', :path => '/api/v1/listservers.php' ) end end # noinspection RubyStringKeysInHashInspection class Mock def list_servers response = Excon::Response.new response.status = 200 response.body = { 'status' => 'OK', 'servers' => self.data[:data] } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/reverse_dns.rb0000644000175100017510000000145412755275761023740 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def reverse_dns(id, host_name) body = { :sid => "#{id}", :hostname => "#{host_name}" } request( :expects => [200], :method => 'POST', :path => 'api/v1/rdns.php', :body => body, ) end end class Mock def reverse_dns(id, hostname) response = Excon::Response.new response.status = 200 response.body = { 'server_id' => Fog::Mock.random_numbers(1).to_i, 'api' => 'v1', 'status' => 'ok', 'result' => 'successful', 'time' => 12312323, } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/delete_server.rb0000644000175100017510000000142712755275761024251 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def delete_server(id) body = { sid: "#{id}" } request( :expects => [200], :method => 'POST', :path => 'api/v1/cloudpro/delete.php', :body => body, ) end end class Mock def delete_server(id) response = Excon::Response.new response.status = 200 response.body = { 'result' => 'successful', 'api' => 'v1', 'action' => 'delete', 'status' => 'ok', 'taskid' => 123123123123, 'time' => 12312323, } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/list_templates.rb0000644000175100017510000000113312755275761024444 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def list_templates request( :expects => [200], :method => 'GET', :path => '/api/v1/listtemplates.php' ) end end # noinspection RubyStringKeysInHashInspection class Mock def list_templates response = Excon::Response.new response.status = 200 response.body = { 'status' => 'OK', 'servers' => self.data[:data] } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/list_tasks.rb0000644000175100017510000000111712755275761023575 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def list_tasks request( :expects => [200], :method => 'GET', :path => '/api/v1/listtasks.php' ) end end # noinspection RubyStringKeysInHashInspection class Mock def list_tasks response = Excon::Response.new response.status = 200 response.body = { 'status' => 'OK', 'servers' => self.data[:data] } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/run_mode.rb0000644000175100017510000000143512755275761023230 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def run_mode(id, action) body = { :sid => "#{id}", :mode => "#{action}" } request( :expects => [200], :method => 'POST', :path => 'api/v1/runmode.php', :body => body, ) end end class Mock def run_mode(id, action) response = Excon::Response.new response.status = 200 response.body = { 'server_id' => Fog::Mock.random_numbers(1).to_i, 'api' => 'v1', 'status' => 'ok', 'result' => 'successful', 'time' => 12312323, } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/rename_server.rb0000644000175100017510000000144612755275761024257 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def rename_server(id, name) body = { :sid => "#{id}", :name => "#{name}" } request( :expects => [200], :method => 'POST', :path => 'api/v1/renameserver.php', :body => body, ) end end class Mock def rename_server(id, name) response = Excon::Response.new response.status = 200 response.body = { 'server_id' => Fog::Mock.random_numbers(1).to_i, 'api' => "v1", 'status' => "ok", 'result' => "successful", 'time' => 12312323, } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/reset.rb0000644000175100017510000000152312755275761022540 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def reset(id) body = { :sid => "#{id}", :action => 'reset' } request( :expects => [200], :method => 'POST', :path => "api/v1/powerop.php", :body => body, ) end end class Mock def reset(id) response = Excon::Response.new response.status = 200 response.body = { 'server_id' => Fog::Mock.random_numbers(1).to_i, 'api' => 'v1', 'status' => 'ok', 'result' => 'successful', 'action' => 'reset', 'time' => 12312323, 'taskid' => 123123123123 } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/console.rb0000644000175100017510000000155112755275761023061 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def console(id) body = { :sid => "#{id}" } request( :expects => [200], :method => 'POST', :path => 'api/v1/console.php', :body => body, ) end end class Mock def console(id, hostname) response = Excon::Response.new response.status = 200 response.body = { 'server_id' => Fog::Mock.random_numbers(1).to_i, 'api' => 'v1', 'status' => 'ok', 'console' => 'http:\/\/panel.cloudatcost.com:12345\/console.html?servername=123456&hostname=1.1.1.1&sshkey=123456&sha1hash=aBcDeFgG', 'time' => 12312323, } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/power_on.rb0000644000175100017510000000153512755275761023251 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def power_on(id) body = { :sid => "#{id}", :action => 'poweron' } request( :expects => [200], :method => 'POST', :path => 'api/v1/powerop.php', :body => body, ) end end class Mock def power_on(id) response = Excon::Response.new response.status = 200 response.body = { 'server_id' => Fog::Mock.random_numbers(1).to_i, 'api' => 'v1', 'status' => 'ok', 'result' => 'successful', 'action' => 'poweron', 'time' => 12312323, 'taskid' => 123123123123 } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/create_server.rb0000644000175100017510000000161212755275761024246 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def create_server(cpu, ram, storage, template_id) body = { cpu: "#{cpu}", ram: "#{ram}", storage: "#{storage}", os: "#{template_id}" } request( :expects => [200], :method => 'POST', :path => 'api/v1/cloudpro/build.php', :body => body, ) end end class Mock def create_server(cpu, ram, storage, template_id) response = Excon::Response.new response.status = 200 response.body = { 'result' => 'successful', 'api' => 'v1', 'action' => 'build', 'status' => 'ok', 'taskid' => 123123123123, 'time' => 12312323, } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/requests/power_off.rb0000644000175100017510000000154112755275761023404 0ustar srudsrudmodule Fog module Compute class CloudAtCost class Real def power_off(id) body = { :sid => "#{id}", :action => 'poweroff' } request( :expects => [200], :method => 'POST', :path => 'api/v1/powerop.php', :body => body, ) end end class Mock def power_off(id) response = Excon::Response.new response.status = 200 response.body = { 'server_id' => Fog::Mock.random_numbers(1).to_i, 'api' => 'v1', 'status' => 'ok', 'result' => 'successful', 'action' => 'poweroff', 'time' => 12312323, 'taskid' => 123123123123 } response end end end end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/version.rb0000644000175100017510000000010012755275761021216 0ustar srudsrudmodule Fog module CloudAtCost VERSION = '0.2.3' end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost/core.rb0000644000175100017510000000021312755275761020466 0ustar srudsrudrequire 'fog/core' require 'fog/json' module Fog module CloudAtCost extend Fog::Provider service(:compute, 'Compute') end end fog-cloudatcost-0.2.3/lib/fog/cloudatcost.rb0000644000175100017510000000014012755275761017535 0ustar srudsrudrequire 'fog/core' require 'fog/xml' require 'fog/json' require_relative 'cloudatcost/version' fog-cloudatcost-0.2.3/.travis.yml0000644000175100017510000000135312755275761015463 0ustar srudsrudlanguage: ruby sudo: false script: bundle exec rake test cache: bundler branches: except: - "/\\Av\\d+\\Z/" matrix: fast_finish: true include: - rvm: 1.9.3 gemfile: Gemfile - rvm: 2.0.0 gemfile: Gemfile - rvm: 2.1.0 gemfile: Gemfile - rvm: 2.1.1 gemfile: Gemfile - rvm: 2.1.1 gemfile: gemfiles/Gemfile-edge - rvm: 2.2.0 gemfile: Gemfile - rvm: 2.2.0 gemfile: gemfiles/Gemfile-edge - rvm: 2.3.0 gemfile: Gemfile - rvm: 2.3.0 gemfile: gemfiles/Gemfile-edge - rvm: jruby-19mode gemfile: Gemfile - rvm: jruby-head gemfile: Gemfile allow_failures: - rvm: jruby-head addons: code_climate: repo_token: 412dc14b81fbd1f8d7356deb5feac31a8d69583d00ec1ba18040caf99343ee25 fog-cloudatcost-0.2.3/.gitignore0000644000175100017510000000112312755275761015335 0ustar srudsrud*.gem *.rbc /.config /coverage/ /InstalledFiles /pkg/ /spec/reports/ /test/tmp/ /test/version_tmp/ /tmp/ ## Specific to RubyMotion: .dat* .repl_history build/ ## Documentation cache and generated files: /.yardoc/ /_yardoc/ /doc/ /rdoc/ ## Environment normalisation: /.bundle/ /vendor/bundle /lib/bundler/man/ # for a library or gem, you might want to ignore these files since the code is # intended to run in multiple environments; otherwise, check them in: # Gemfile.lock # .ruby-version # .ruby-gemset # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: .rvmrc *.sw* fog-cloudatcost-0.2.3/LICENSE0000644000175100017510000000207412755275761014360 0ustar srudsrudThe MIT License (MIT) Copyright (c) 2016 Suraj Shirvankar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. fog-cloudatcost-0.2.3/Rakefile0000644000175100017510000000052612755275761015020 0ustar srudsrudrequire 'bundler/gem_tasks' require 'rubygems' require 'bundler/setup' require 'rake/testtask' task :test do sh("bundle exec rspec") end require_relative 'lib/fog/cloudatcost' task :default => :test mock = ENV['FOG_MOCK'] || 'true' namespace :test do task :travis do sh("export FOG_MOCK=#{mock} && bundle exec rspec") end end fog-cloudatcost-0.2.3/.codeclimate.yml0000644000175100017510000000057312755275761016427 0ustar srudsrud--- engines: bundler-audit: enabled: true duplication: enabled: true config: languages: - ruby - javascript - python - php fixme: enabled: true rubocop: enabled: true ratings: paths: - Gemfile.lock - "**.inc" - "**.js" - "**.jsx" - "**.module" - "**.php" - "**.py" - "**.rb" exclude_paths: - tests/**/* fog-cloudatcost-0.2.3/Gemfile0000644000175100017510000000014312755275761014641 0ustar srudsrudsource 'http://rubygems.org' gemspec gem 'codeclimate-test-reporter', group: :test, require: nil fog-cloudatcost-0.2.3/spec/0000755000175100017510000000000012755275761014302 5ustar srudsrudfog-cloudatcost-0.2.3/spec/model_setup.rb0000644000175100017510000000045012755275761017146 0ustar srudsrudmodule ModelSetup def self.included(base) base.class_eval do let(:arguments) do { :api => '' } end # Initialize the service object to be used inside models tests let(:service) { Fog::Compute::CloudAtCost.new(arguments) } end end end fog-cloudatcost-0.2.3/spec/spec_helper.rb0000644000175100017510000000016512755275761017122 0ustar srudsrudrequire 'fog/cloudatcost' require 'model_setup' require 'codeclimate-test-reporter' CodeClimate::TestReporter.start fog-cloudatcost-0.2.3/spec/fog/0000755000175100017510000000000012755275761015055 5ustar srudsrudfog-cloudatcost-0.2.3/spec/fog/models/0000755000175100017510000000000012755275761016340 5ustar srudsrudfog-cloudatcost-0.2.3/spec/fog/models/servers_spec.rb0000644000175100017510000000043512755275761021372 0ustar srudsrudrequire 'spec_helper' require 'fog/cloudatcost/models/servers' describe Fog::Compute::CloudAtCost::Servers do subject { Fog::Compute::CloudAtCost::Servers } it 'should have a collection of servers' do expect(subject.model).to eq(Fog::Compute::CloudAtCost::Server) end end fog-cloudatcost-0.2.3/spec/fog/models/templates_spec.rb0000644000175100017510000000044712755275761021702 0ustar srudsrudrequire 'spec_helper' require 'fog/cloudatcost/models/templates' describe Fog::Compute::CloudAtCost::Templates do subject { Fog::Compute::CloudAtCost::Templates } it 'should have a collection of templates' do expect(subject.model).to eq(Fog::Compute::CloudAtCost::Template) end end fog-cloudatcost-0.2.3/spec/fog/models/template_spec.rb0000644000175100017510000000045612755275761021517 0ustar srudsrudrequire 'spec_helper' require 'fog/cloudatcost/models/template' describe Fog::Compute::CloudAtCost::Template do let(:server) { Fog::Compute::CloudAtCost::Template.new } it 'respond to #id' do server.respond_to? :id end it 'respond to #detail' do server.respond_to? :detail end end fog-cloudatcost-0.2.3/spec/fog/models/task_spec.rb0000644000175100017510000000201512755275761020637 0ustar srudsrudrequire 'spec_helper' require 'fog/cloudatcost/models/task' describe Fog::Compute::CloudAtCost::Task do let(:server) { Fog::Compute::CloudAtCost::Task.new } it 'respond to #id' do server.respond_to? :id end it 'respond to #cid' do server.respond_to? :cid end it 'respond to #idf' do server.respond_to? :idf end it 'respond to #serverid' do server.respond_to? :serverid end it 'respond to #action' do server.respond_to? :action end it 'respond to #status' do server.respond_to? :status end it 'respond to #starttime' do server.respond_to? :starttime end it 'respond to #finishtime' do server.respond_to? :finishtime end it 'respond to #servername' do server.respond_to? :servername end it 'respond to #ip' do server.respond_to? :ip end it 'respond to #label' do server.respond_to? :label end it 'respond to #rdns' do server.respond_to? :rdns end it 'respond to #rdnsdefault' do server.respond_to? :rdnsdefault end end fog-cloudatcost-0.2.3/spec/fog/models/tasks_spec.rb0000644000175100017510000000042312755275761021023 0ustar srudsrudrequire 'spec_helper' require 'fog/cloudatcost/models/tasks' describe Fog::Compute::CloudAtCost::Tasks do subject { Fog::Compute::CloudAtCost::Tasks } it 'should have a collection of tasks' do expect(subject.model).to eq(Fog::Compute::CloudAtCost::Task) end end fog-cloudatcost-0.2.3/spec/fog/models/server_spec.rb0000644000175100017510000000121512755275761021204 0ustar srudsrudrequire 'spec_helper' require 'fog/cloudatcost/models/server' describe Fog::Compute::CloudAtCost::Server do let(:server) { Fog::Compute::CloudAtCost::Server.new } server_attributes = %w(sid id CustID packageid label servername vmname ip netmask gateway hostname rootpass vncport vncpass servertype template cpu cpuusage ram ramusage storage hdusage sdate status panel_note mode uid rdns rdnsdefault template_id) it 'tests attributes' do server_attributes.each do |attribute| expect(server).to respond_to(attribute) end end end fog-cloudatcost-0.2.3/fog-cloudatcost.gemspec0000644000175100017510000000247712755275761020024 0ustar srudsrudlib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'fog/cloudatcost/version' Gem::Specification.new do |spec| spec.name = 'fog-cloudatcost' spec.version = Fog::CloudAtCost::VERSION spec.authors = ["Suraj Shirvankar"] spec.email = ["surajshirvankar@gmail.com"] spec.summary = %q{Module for the 'fog' gem to support CloudAtCost.} spec.description = %q{This library can be used as a module for `fog` or as standalone provider to use the Amazon Web Services in applications..} spec.homepage = 'http://github.com/fog/fog-cloudatcost' spec.license = 'MIT' spec.files = `git ls-files -z`.split("\x0") spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ["lib"] spec.add_development_dependency 'bundler', '~> 1.12' spec.add_development_dependency 'rake', '~> 11.2' spec.add_development_dependency 'rspec', '~> 3.4.0' spec.add_development_dependency 'rubyzip', '~> 1.1.0' spec.add_dependency 'fog-core', '~> 1.41' spec.add_dependency 'fog-json', '~> 1.0' spec.add_dependency 'fog-xml', '~> 0.1' spec.add_dependency 'ipaddress', '~> 0.8' end