Sha256: cb27e0ff3fb884588cc3127f9132669e976afed6fbc52db2d714b0b93e3d6783

Contents?: true

Size: 1.13 KB

Versions: 32

Compression:

Stored size: 1.13 KB

Contents

require 'oj'

class SpecAdapter < Cellect::Server::Adapters::Default
  def workflow_list(*names)
    if names.empty?
      fixtures.values
    else
      fixtures.values_at(*names)
    end
  end

  def load_data_for(workflow_name)
    fixtures.fetch(workflow_name, { }).fetch 'entries', []
  end

  def fixtures
    @fixtures ||= { }.tap do |fixtures|
      Dir["#{ _fixture_path }/workflow_data/*.json"].collect do |f|
        name = File.basename(f).sub /\.json$/, ''
        data = Oj.strict_load File.read f
        fixtures[name] = data
      end
    end
  end

  def user_fixtures
    @user_fixtures ||= { }.tap do |user_fixtures|
      Dir["#{ _fixture_path }/user_data/*.json"].sort.collect.with_index do |f, i|
        name = File.basename(f).sub /\.json$/, ''
        data = Oj.strict_load File.read f
        user_fixtures[name] = data
        user_fixtures[i + 1] = data
      end
    end
  end

  def load_user(workflow_name, id)
    user = user_fixtures[id]
    user ? user[workflow_name] : user_fixtures['new_user'][workflow_name]
  end

  protected

  def _fixture_path
    File.expand_path File.join(__FILE__, '../../fixtures')
  end
end

Version data entries

32 entries across 32 versions & 2 rubygems

Version Path
cellect-client-2.1.1 spec/support/spec_adapter.rb
cellect-server-2.1.1 spec/support/spec_adapter.rb
cellect-client-2.1.0 spec/support/spec_adapter.rb
cellect-server-2.1.0 spec/support/spec_adapter.rb
cellect-client-2.0.1 spec/support/spec_adapter.rb
cellect-server-2.0.1 spec/support/spec_adapter.rb
cellect-client-2.0.0 spec/support/spec_adapter.rb
cellect-server-2.0.0 spec/support/spec_adapter.rb
cellect-client-2.0.0.beta4 spec/support/spec_adapter.rb
cellect-server-2.0.0.beta4 spec/support/spec_adapter.rb
cellect-client-2.0.0.beta3 spec/support/spec_adapter.rb
cellect-server-2.0.0.beta3 spec/support/spec_adapter.rb
cellect-client-2.0.0.beta2 spec/support/spec_adapter.rb
cellect-server-2.0.0.beta2 spec/support/spec_adapter.rb
cellect-client-2.0.0.beta1 spec/support/spec_adapter.rb
cellect-server-2.0.0.beta1 spec/support/spec_adapter.rb
cellect-client-1.3.3 spec/support/spec_adapter.rb
cellect-server-1.3.3 spec/support/spec_adapter.rb
cellect-client-1.3.2 spec/support/spec_adapter.rb
cellect-server-1.3.2 spec/support/spec_adapter.rb