tkadauke / motion-resource

Access RESTful resources from your iOS app. Inspired by ActiveResource.
77 stars 16 forks source link

undefined method `mattr_writer' for MotionSupport:Class (NoMethodError) #20

Closed j-mcnally closed 10 years ago

j-mcnally commented 10 years ago

I have not set app.detect_dependencies = false

the annoying this is i am using bundler so i think i would have to manually require all my libraries. Why is this the case?

tkadauke commented 10 years ago

It is not about requiring all libraries. This is about the order in which libraries are required. You might be able to manually set the order by specifying:

gem 'motion-support', :require => false
gem 'motion-resource', :require => false

and then add

require 'motion-support/all'
require 'motion-resource'

in your Rakefile. But really, autodetected dependencies are quite buggy and not supported with motion-support (and motion-resource).

On 26.11.2013, at 06:38, Justin McNally notifications@github.com wrote:

I have not set app.detect_dependencies = false

the annoying this is i am using bundler so i think i would have to manually require all my libraries. Why is this the case?

— Reply to this email directly or view it on GitHub.

j-mcnally commented 10 years ago

hmm i tried that but i get

cannot load such file -- motion-support/all

changing it to

require 'motion-support'
require 'motion-resource'

leads to the same error

tkadauke commented 10 years ago

Sorry about that. It's actually

require 'motion-support'

On 26.11.2013, at 17:59, Justin McNally notifications@github.com wrote:

hmm i tried that but i get

cannot load such file -- motion-support/all

— Reply to this email directly or view it on GitHub.

j-mcnally commented 10 years ago

i appreciate you taking the time to look at this, i feel like a bit of newb, ive been working in ruby for years and ios for years but this is my first foray into iosRuby so i appreciate you patience, but i still cannot get this to work properly. Same error regardless of load order.

I am using Motion: 2.16 not sure if that matters

source "https://rubygems.org"

gem "rake", "10.1.0"

gem 'motion-support', :require => false
gem 'motion-resource', :require => false
gem "cocoapods"
gem "ProMotion", "~> 1.0.4"
gem 'sugarcube'
gem "teacup"
gem "formotion"
gem "can_i"
gem "motion-layout"
gem "motion-cocoapods"
gem "motion-pixate"
gem "motion-pixate-layout", github: "terriblelabs/motion-pixate-layout" , ref: "ba4b6f43cce710526dfdf8513d9adb5661af691e"

is my gem file

and my rake file looks like this

# -*- coding: utf-8 -*-
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project/template/ios'

require 'motion-support'
begin
  require 'bundler'
  Bundler.require
rescue LoadError
end

require 'motion-resource'

Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = 'Hiduken'
  app.pixate.framework = 'vendor/Pods/Pixate/Framework/iOS/Pixate.framework'
  app.pods do
    pod 'Pixate', '~> 2.0.0'
  end
end

i can provide a github repo with a sample proejct if thats helpful?

tkadauke commented 10 years ago

As I said, right now you NEED to disable detect_dependencies to use motion-support. The dependency detection is just too buggy for it.

Here's what you can do:

1) Use manual dependency resolution: http://www.rubymotion.com/developer-center/guides/project-management/#_files_dependencies -- you can even do that for 3rd party libraries if necessary. 2) Use and urge 3rd party devs to use motion-require (https://github.com/clayallsopp/motion-require). It solves all of the dependency detection issues with very little work.

j-mcnally commented 10 years ago

Ok Thanks Thomas,

Looks like i have my homework ahead of me. Thank you so much for assisting me as i am new to the space. I cannot express enough the value of having an experienced person help you get started, thank you! I will repay you by helping contribute to open source ruby motion once I get into the full swing of things.

--Justin

On Wed, Nov 27, 2013 at 7:21 AM, Thomas Kadauke notifications@github.comwrote:

As I said, right now you NEED to disable detect_dependencies to use motion-support. The dependency detection is just too buggy for it.

Here's what you can do:

1) Use manual dependency resolution: http://www.rubymotion.com/developer-center/guides/project-management/#_files_dependencies-- you can even do that for 3rd party libraries if necessary. 2) Use and urge 3rd party devs to use motion-require ( https://github.com/clayallsopp/motion-require). It solves all of the dependency detection issues with very little work.

— Reply to this email directly or view it on GitHubhttps://github.com/tkadauke/motion-resource/issues/20#issuecomment-29383508 .

j-mcnally commented 10 years ago

https://github.com/tkadauke/motion-support/issues/13

was my exact issue, promotion couldnt be required properly with dependencies off. The branch contributed as motion-require fixes this issue, so we're all good. Thanks for the help!