JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Neo4j ORM Issues (non ActiveRecord)

Ouverte
#796 5 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Ruby
Étoiles
2.3k
Forks
546
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi. I'm working on a rails project using the Neo4j ORM which tries to mimic ActiveRecord, but doesn't use ActiveRecord. GET-ing things works fine, but as soon as I want to POST I get errors.

I've started using 0.8.0.beta1 to overcome the ActiveRecordOperationsProcessor issues fixed in #192, but have run into a new error uninitialized constant JSONAPI::ActsAsResourceController::ActiveRecord in ActsAsResourceController line 84

As I was writing this I just realised I can monkey patch with the following, but this probably isn't a good long term solution. It seems to be working with very minimal testing though.

module JSONAPI
  module ActsAsResourceController

    def transaction
      lambda { |&block|
        Neo4j::Transaction.run do |tx|
          block.yield
        end
      }
    end

    def rollback
      lambda {
        fail tx.mark_failed
      }
    end

  end
end

Does anyone have any advice on this situation? Is this an issue for other non ActiveRecord ORM's.

Thanks for your help.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez à la ligne 84 de lib/jsonapi/acts_as_resource_controller.rb et examinez comment la transaction et le rollback dépendent de ActiveRecord. Reproduisez un POST en utilisant le Neo4j ORM, puis comparez le comportement transactionnel du contrôleur avec le monkey patch présenté dans l’issue. Le travail est considéré comme terminé lorsque les requêtes POST fonctionnent sans faire référence à une constante ActiveRecord.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
neo4j, rails, ruby
Domaine
api, backend, databases
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.