From b25f294dfa765b236e6ab4e9885e9a61156413f7 Mon Sep 17 00:00:00 2001 From: James Reggio Date: Wed, 27 Jul 2016 16:11:28 -0400 Subject: [PATCH] Fix minor bugs --- graphql-rails.gemspec | 3 ++- lib/graphql/rails/dsl.rb | 2 ++ lib/graphql/rails/extensions/cancan.rb | 2 +- lib/graphql/rails/extensions/mongoid.rb | 1 + lib/graphql/rails/node_identification.rb | 1 + lib/graphql/rails/operations.rb | 1 + lib/graphql/rails/types.rb | 1 - 7 files changed, 8 insertions(+), 3 deletions(-) diff --git a/graphql-rails.gemspec b/graphql-rails.gemspec index 4035233..804fbe6 100644 --- a/graphql-rails.gemspec +++ b/graphql-rails.gemspec @@ -5,6 +5,7 @@ require 'graphql/rails/version' Gem::Specification.new do |s| s.name = 'graphql-rails' s.version = GraphQL::Rails::VERSION + s.license = 'MIT' s.authors = ['James Reggio'] s.email = ['james.reggio@gmail.com'] s.homepage = 'https://github.com/jamesreggio/graphql-rails' @@ -16,7 +17,7 @@ Allows you to specify GraphQL queries and mutations as though they were controller actions. Automatically maps Mongoid models to GraphQL types. Seamlessly integrates with CanCan. EOM - s.license = 'MIT' + s.required_ruby_version = '>= 2.1.0' s.files = Dir['{app,config,lib}/**/*', 'LICENSE'] s.required_ruby_version = '>= 2.1.0' diff --git a/lib/graphql/rails/dsl.rb b/lib/graphql/rails/dsl.rb index d8634cd..df8c7e6 100644 --- a/lib/graphql/rails/dsl.rb +++ b/lib/graphql/rails/dsl.rb @@ -13,6 +13,8 @@ def run(&block) instance_eval(&block) end + private + def method_missing(method, *args, &block) begin @self.send(method, *args, &block) diff --git a/lib/graphql/rails/extensions/cancan.rb b/lib/graphql/rails/extensions/cancan.rb index f2e247f..123d3c1 100644 --- a/lib/graphql/rails/extensions/cancan.rb +++ b/lib/graphql/rails/extensions/cancan.rb @@ -18,7 +18,7 @@ def self.check_authorization(options = {}) end end - def skip_authorization_check(*args) + def self.skip_authorization_check(*args) self.before_filter(*args) do |instance| instance.instance_variable_set(:@authorized, true) end diff --git a/lib/graphql/rails/extensions/mongoid.rb b/lib/graphql/rails/extensions/mongoid.rb index 76ebd91..b30cd49 100644 --- a/lib/graphql/rails/extensions/mongoid.rb +++ b/lib/graphql/rails/extensions/mongoid.rb @@ -48,6 +48,7 @@ def namespace # mappings for common built-in scalar types. def types @types ||= { + Boolean => GraphQL::BOOLEAN_TYPE, ::Mongoid::Boolean => GraphQL::BOOLEAN_TYPE, BSON::ObjectId => GraphQL::STRING_TYPE, } diff --git a/lib/graphql/rails/node_identification.rb b/lib/graphql/rails/node_identification.rb index 2d3557f..3d39b5d 100644 --- a/lib/graphql/rails/node_identification.rb +++ b/lib/graphql/rails/node_identification.rb @@ -2,6 +2,7 @@ module GraphQL module Rails # Implements globally-unique object IDs for Relay compatibility. NodeIdentification = GraphQL::Relay::GlobalNodeIdentification.define do + # TODO: Add security checks. object_from_id -> (id, ctx) do Types.lookup(*NodeIdentification.from_global_id(id)) end diff --git a/lib/graphql/rails/operations.rb b/lib/graphql/rails/operations.rb index e425ee2..deca81a 100644 --- a/lib/graphql/rails/operations.rb +++ b/lib/graphql/rails/operations.rb @@ -48,6 +48,7 @@ def self.query(hash, &block) private # DSL for query definition. + # TODO: Support resolve-only blocks. class QueryDefinition < DSL attr_reader :field diff --git a/lib/graphql/rails/types.rb b/lib/graphql/rails/types.rb index 05e63b2..a8dff1c 100644 --- a/lib/graphql/rails/types.rb +++ b/lib/graphql/rails/types.rb @@ -86,7 +86,6 @@ def to_field_name(name) def types @types ||= { String => GraphQL::STRING_TYPE, - Boolean => GraphQL::BOOLEAN_TYPE, Fixnum => GraphQL::INT_TYPE, Integer => GraphQL::INT_TYPE,